一、前言
自己的Gitlab是在自己的淘汰笔记本上搭建起来的,配置如下:
CPU: Intel Core i7 6700HQ
Memory: 8G, 7.7G可用
OS: OpenSUSE Leap 15.2
Gitlab: 14.0.5-ce
本来拿来单跑Gitlab是绝对没问题的,但是在Gilab入驻之前这台机子还住着另外一个内存大户.那就是Ceph集群的OSD节点(QTQ).在这种情况下,这两内存黑洞有点不够填的.
优化之前的内存占用如下(稳定运行中,非启动时):
total used free shared buff/cache available
Mem: 7901 5863 488 170 1549 2764
Swap: 4096 156 3939
只剩下2G内存的话再做什么都有点捉襟见肘了.降低内存占用势在必行了.况且自己搭的这个gitlab只是放在家里给自己一个人用的,不需要啥并发性能什么的,可以使劲压缩.
二、内存迫害之路
1、关闭无用组件/服务
# 关闭性能监视
monitoring_role['enable'] = false
prometheus['enable'] = false
alertmanager['enable'] = false
grafana['enable'] = false
node_exporter['enable'] = false
redis_exporter['enable'] = false
postgres_exporter['enable'] = false
gitlab_exporter['enable'] = false
sidekiq['metrics_enabled'] = false
gitlab_rails['usage_ping_enabled'] = false
# 关闭容器.私有云相关服务
gitlab_rails['registry_enabled'] = false
registry['enable'] = false
gitlab_rails['terraform_state_enabled'] = false
gitlab_kas['enable'] = false
# 依赖代理
gitlab_rails['dependency_proxy_enabled'] = false
# 关闭电子邮件相关
gitlab_rails['smtp_enable'] = false
gitlab_rails['gitlab_email_enabled'] = false
gitlab_rails['incoming_email_enabled'] = false
2、调整Web服务
puma['worker_processes'] = 0
puma['min_threads'] = 1
puma['max_threads'] = 2
# 13.10版本开始默认服务由unicorn转换到了puma,所以设置puma的并发进程数
sidekiq['max_concurrency'] = 5
# 关闭自带nginx,交由统一的nginx处理请求
external_url 'https://code.lintian.co'
gitlab_rails['trusted_proxies'] = ['127.0.0.1']
gitlab_workhorse['listen_network'] = "tcp"
gitlab_workhorse['listen_addr'] = ":80"
nginx['enable'] = false
3、调整数据库(postgresql)
postgresql['shared_buffers'] = "128MB"
postgresql['max_worker_processes'] = 4
4、还可以的操作
本来还想着把一些服务给分离出去,比如redis.想着占用本来就不多就算了
三、验证成果
tianliang@node1:~> free -m
total used free shared buff/cache available
Mem: 7901 4444 1826 166 1629 4094
Swap: 4096 156 3939