在 CentOS 上 GitLab 卡顿/变慢 是比较常见的问题,通常不是单一原因。下面按 排查顺序 + 解决方案 给你一个实用清单,适合生产环境快速定位。
先区分是 GitLab 慢 还是 服务器本身慢。
top
htop
free -h
df -h
重点关注:
/var/opt/gitlab 最常见)GitLab 非常吃内存,官方建议:
| 用户规模 | 最低内存 |
|---|---|
| 少量使用 | 8GB |
| 团队使用 | 16GB |
| CI/CD 多 | 32GB+ |
free -h
✅ 关闭不必要的服务(强烈推荐)
编辑:
sudo vim /etc/gitlab/gitlab.rb
关闭 Prometheus / CI Runner(如果不用):
prometheus_monitoring['enable'] = false
gitlab_ci_runner['enable'] = false
然后:
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
内存不够但没 Swap,系统直接卡死。
swapon -s
sudo dd if=/dev/zero of=/swapfile bs=1M count=4096
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
开机自动挂载:
echo '/swapfile swap swap defaults 0 0' | sudo tee -a /etc/fstab
表现:
gitlab-ctl tail postgresql
postgresql['shared_buffers'] = "256MB"
postgresql['max_connections'] = 100
然后:
gitlab-ctl reconfigure
表现:
gitlab-ctl status
gitlab-rake gitlab:sidekiq:status
gitlab-ctl restart sidekiq
gitlab-ctl restart puma
老版本在 CentOS 7 上特别容易卡。
cat /opt/gitlab/version-manifest.txt
yum update gitlab-ee
gitlab-ctl reconfigure
⚠️ 升级前一定 备份
gitlab-backup create
⚠️ CentOS 7 已于 2024-06-30 EOL
✅ 建议迁移到:
如果你现在就想让 GitLab 快一点:
# 重启所有服务
gitlab-ctl restart
# 清理缓存
gitlab-rake cache:clear
# 清理日志
gitlab-ctl cleanup
运行:
gitlab-rake gitlab:env:info
我可以帮你 直接看输出并判断哪里卡。
你可以直接贴出这些信息(打码即可):
free -htop 前 10 行cat /etc/gitlab/gitlab.rb | grep -v "^#"我可以直接给你 最小化内存优化配置 ✅