在 CentOS 上运行 GitLab 时,内存不足是非常常见的问题,尤其是单机部署或低配服务器。下面按「先救命 → 再优化 → 长期方案」给你一套实用做法。
free -h
top
看:
available 是否很小也可以看日志:
grep -i "out of memory" /var/log/messages
gitlab-ctl restart
或只重启吃内存的组件:
gitlab-ctl restart sidekiq
gitlab-ctl restart puma
GitLab 官方不建议 0 Swap
# 创建 4G swap
dd if=/dev/zero of=/swapfile bs=1M count=4096
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
开机自动挂载:
echo '/swapfile swap swap defaults 0 0' >> /etc/fstab
编辑配置文件:
vi /etc/gitlab/gitlab.rb
puma['worker_processes'] = 2
puma['min_threads'] = 1
puma['max_threads'] = 2
sidekiq['concurrency'] = 10
prometheus_monitoring['enable'] = false
grafana['enable'] = false
mattermost['enable'] = false
registry['enable'] = false
保存后执行:
gitlab-ctl reconfigure
postgresql['shared_buffers'] = "256MB"
postgresql['work_mem'] = "16MB"
postgresql['max_connections'] = 100
不建议跑完整 GitLab
可选方案:
| 规模 | 内存 |
|---|---|
| 最小 | 4 GB |
| 生产 | 8 GB+ |
如果你愿意,可以:
free -hgitlab.rb 配置我可以直接帮你算出最优参数。