CentOS 上的 GitLab 卡顿,通常不是单一原因,而是资源、配置、版本、磁盘/IO、网络等多方面叠加。下面按“最常见 → 不常见但重要”给你系统梳理,并附排查方法。
GitLab 非常吃内存,官方最低要求:
现象
git clone 超时排查
free -h
top
如果 available 内存长期 < 500MB,基本就是内存问题。
解决
GitLab 大量写:
常见坑
/var/opt/gitlab 在机械盘排查
iostat -x 1
df -h
du -sh /var/log/gitlab/*
解决
CI Runner 在本机跑任务会直接拖垮 GitLab。
现象
排查
top
htop
解决
GitLab 默认开启很多服务。
可关闭的
prometheus['enable'] = false
grafana['enable'] = false
alertmanager['enable'] = false
编辑:
/etc/gitlab/gitlab.rb
然后:
gitlab-ctl reconfigure
CentOS 上默认参数很保守。
常见调整
postgresql['shared_buffers'] = "512MB"
postgresql['work_mem'] = "16MB"
虽然不常“卡”,但会导致:
getenforce
df -i
如果你用 Nginx / Apache 反代:
老版本在 CentOS 7 上容易:
gitlab-rake gitlab:env:info
✅ 先看这三样:
free -h
df -h
iostat -x 1
✅ 关闭 Prometheus / Grafana
✅ Runner 别和 GitLab 同机
✅ 用 SSD
✅ 内存 < 4G 就别跑 GitLab
你可以直接贴:
free -htop 前几行gitlab-ctl status我可以帮你判断是硬件问题还是配置问题,甚至给你一份“最小可用 gitlab.rb”。