GitLab在Debian上的资源限制设置主要围绕存储、内存、CPU及数据库等方面展开,以下是具体配置步骤:
通过gitlab.rb配置文件设置Git数据目录的大小限制,防止存储空间过度占用。
编辑/etc/gitlab/gitlab.rb,添加或修改以下内容(单位:GB):
git_data_dirs({
"default" => {
"path" => "/var/opt/gitlab/git-data", # 默认Git数据目录路径
"size_limit" => 500 # 设置存储空间上限为500GB
}
})
配置完成后,执行以下命令使设置生效:
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
此外,可通过定期清理旧备份、CI/CD作业日志、临时文件等方式释放空间:
sudo gitlab-rake gitlab:backup:cleanup # 清理旧备份
sudo gitlab-rake gitlab:ci:cleanup # 清理旧CI/CD作业
sudo gitlab-rake log:rotate # 清理旧日志
sudo gitlab-rake tmp:clean # 清理临时文件
根据服务器内存大小调整GitLab各组件的进程数及缓存设置,避免内存耗尽:
unicorn['worker_processes'] = 2 # Web服务器工作进程数
sidekiq['concurrency'] = 10 # Sidekiq后台任务并发数
postgresql['shared_buffers'] = "25% of total RAM" # 设置为服务器总内存的25%
postgresql['work_mem'] = "4MB" # 每个查询操作的内存限制
redis['enable'] = true
redis['maxmemory'] = '2gb' # Redis最大内存
redis['maxmemory-policy'] = 'allkeys-lru' # 内存满时淘汰最近最少使用的键
通过调整并发进程数控制CPU使用率,避免CPU过载:
unicorn['worker_processes'] = 2 # Web服务器工作进程数
sidekiq['concurrency'] = 10 # Sidekiq后台任务并发数
gitlab_ci['enable'] = false # 关闭CI/CD服务
调整PostgreSQL配置以提升数据库性能,减少资源消耗:
gitlab_rails['db_pool'] = 20 # 数据库连接池大小
postgresql['data_dir'] = "/mnt/ssd/postgresql/data" # 修改为SSD路径
所有修改完成后,需执行以下命令重新配置并重启GitLab服务:
sudo gitlab-ctl reconfigure # 应用配置变更
sudo gitlab-ctl restart # 重启GitLab服务
通过以上设置,可有效控制GitLab在Debian系统上的资源使用,提升系统稳定性和性能。需根据实际服务器资源(CPU、内存、存储)及业务负载调整参数值。