尝试了好几种方法,最终成功,过程总结了下:
一、发现症状
1.top,M、P,查看占用内存和cpu比较严重的进程,发现是git、gitlab
2.ps -ef|grep git|wc -l ,发现竟然有380个进程,
3.free -h ,发现内存和cpu几乎被吃光,只剩下几十MB,
二、尝试方法
1.根据reboot万能原则,先是reboot了一下,半小时多,终于起来,free -h发现问题解决,但是不一会儿的功夫,同事git又发现慢了,再一看,内存cpu又被吃光了,发现没有解决根本问题啊,
此法强烈不建议,以为我们这台服务器除了git,没有其他的用途,我才敢大胆的reboot
2.尝试单独重启gitlab,gitlab-ctl restart,效果是的有的,不超过十分钟,再次占满,此法也行不通,怀疑配置有问题,应减少数据库缓存、进程数等,
3.参考大佬们的方案,修改配置文件/etc/gitlab.gitlab.rb
unicorn['worker_processes'] = 2 # core数+1;cat /proc/cpuinf
unicorn['worker_timeout'] = 60
postgresql['shared_buffers'] = "256MB" #缓存还可以再小
postgresql['max_worker_processes'] = 8 #并发数
sidekiq['concurrency'] = 25 #默认 减小并发数
unicorn['worker_memory_limit_min'] = "200 * 1 << 20" # 这是改小
unicorn['worker_memory_limit_max'] = "300 * 1 << 20"
7个参数
gitlab-ctl reconfigure
gitlab-ctl restart
按说应该这样就可以了,可是还是翩高,注意到可能是配置文件没有生效,
#我在执行reconfigure命令时,老是报错,查看实时日志
nohup gitlab-ctl reconfigure >abc.log
tail -f abc.log
报错:Encountered unsupported config key o………………
输出后,发现因误触多输入了个o,
修改,再次restart,等待时间验证一下午,正常,问题解决!
三、解决方法总结
修改配置文件的7个重要参数,是配置文件生效,重启应用,等半小时后再free查看,必然OK。
最后,感谢大佬们详细的解决方法!
版权归原作者 cnsdlywei 所有, 如有侵权,请联系我们删除。