gitlab内存消耗大,频繁出现502错误的解决办法

 首先说明笔者的服务器环境,阿里云服务器:8G内存,2核。自从团队运维小伙伴搭建了gitlab之后,git push 代码时不时的就很卡,也经常出现 gitlab 反应超时——返回502错误,严重阻塞了团队项目的开发,伤心!

转载请注明出处: https://www.cnblogs.com/NaughtyCat/p/gitlab-eat-too-much-memory-and-response-with-502-error.html

SSH登上服务器,我去,卡的不要不要的,top 命令一看,内存只有不到125M。在top -d 3(每3秒刷新一次)模式下,按住 shift + m (以内存排序), 内存和cpu使用情况如下图:

 

CPU还是有很多空闲的,内存所剩不多,USER为 gitgitlab-+的全是gitlab的东东,gitlab内存占比超过%35,而且随着时间推移,如5小时后,free memory 持续减少,buff/cache 持续增加【CoderBaby】,on my god!

慌不要慌,淡定。我有上网法宝,我怕谁,一通google,答案了然于胸。

基本方略,改配置文件(/etc/gitlab/gitlab.rb ),配置文件生效(gitlab-ctl reconfigure),重启(gitlab-ctl restart

1)unicorn改小进程数,及内存占用

  unicorn['worker_processes'] = 2

  unicorn['worker_memory_limit_min'] = "300 * 1 << 20"
  unicorn['worker_memory_limit_max'] = "500 * 1 << 20"

注:

  a. gitlab有很多组件,部分组件有memory leak — 内存泄露,gitlab 搞了个 unicorn-worker-killer,会自动丢弃(drop)那些崩溃了且没有用户请求的worker,关于Unicorn and unicorn-worker-killer,详情参见:

  https://docs.gitlab.com/ee/administration/operations/unicorn.html

  b. ps aux|grep unicorn|wc -l 【查看unicorn进程数,一看原来默认有9个】

  c. unicorn['worker_processes'] 至少得有2个,推荐: (CPU cores * 1.5) + 1 = Unicorn workers

2)其它修改

  sidekiq['concurrency'] = 4

  prometheus_monitoring['enable'] = false

  postgresql['shared_buffers'] = 256M 【postgresql内存改小】

3)linux kernal swap调整到适当比例

配置文件:/etc/sysctl.conf ,修改: vm.swappiness = 10 ,使其生效:重启,或者通过 sysctl vm.swappiness=10 使其运行时生效

 

跑了一天,gitlab运行正常,内存已始终有1.7G空闲,开心

 

4) 如果跑了几天,top命令看到buff/cache越来越大,空闲内存越来越少,可通过如下命令【终极解决方案】

  • 释放page cache:

echo 1 > /proc/sys/vm/drop_caches

  • 释放 dentries 和 inodes: 
 echo 2 > /proc/sys/vm/drop_caches
  • 一起搞
echo 3 > /proc/sys/vm/drop_caches 或者 free && sync && echo 3 > /proc/sys/vm/drop_caches && free


运行一月后】,一切正常,开心鸭

注:

 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

*******************************************************************************************

精力有限,想法太多,专注做好一件事就行

  • 我只是一个程序猿。5年内把代码写好,技术博客字字推敲,坚持零拷贝和原创
  • 写博客的意义在于打磨文笔,训练逻辑条理性,加深对知识的系统性理解;如果恰好又对别人有点帮助,那真是一件令人开心的事

*******************************************************************************************

posted @ 2020-01-08 10:13  CoderBaby  阅读(6836)  评论(3编辑  收藏  举报