减少 gitlab 内存使用
访问 http://xxx.com/admin/system_info
(自己解析的域名)可以查看到 gitlab 当前的系统信息。
之前大概在 6.x ~ 7.x 左右,修改配置后的系统信息:
服务器为 2 核 8 g,可以看到还是有一定的效果的。
主要参考了 【Git学习】解决GitLab内存消耗大的问题 和 Reducing the amount of memory used by gitlab 。
修改 /etc/gitlab/gitlab.rb
文件
我的修改项(跟那个 16 核 64 g 的设备没发比):
...
# 使用 unicorn
unicorn['enable'] = true
unicorn['worker_timeout'] = 60
unicorn['worker_processes'] = 2
# 限制子进程内存使用,这边表示 [200M ~ 300M]
unicorn['worker_memory_limit_min'] = "200 * 1 << 20"
unicorn['worker_memory_limit_max'] = "300 * 1 << 20"
# unicorn 与 puma 二选一,关闭 puma
puma['enable'] = false
...
# sidekiq 最大并发,默认 50,这项感觉修改并没有变化
sidekiq['max_concurrency'] = 4
...
# postgresql 共享 buffer、最大进程数,默认分别为 256MB 和 8
postgresql['shared_buffers'] = "128MB"
postgresql['max_worker_processes'] = 4
...
# 关闭普罗米修斯监控
prometheus_monitoring['enable'] = false
...
尽管对这么多项都做了降低或减少,但最有效的项是 unicorn['worker_memory_limit_x']
,减少这两项效果明显。
修改完 gitlab 配置后需要重新配置并重启:
gitlab-ctl reconfigure
gitlab-ctl restart
如果存在 unicorn 无法启动的情况,可以先 stop 再 start 启动。
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。