iis worker process内存占用大_【自建gitlab服务器】gitlab内存持续增大,频繁出现502错误的解决办法

0c45be77d33c967fc146aa0f960caa7d.png

推荐阅读

  1. 年前获阿里,头条等5个offer,Java程序员的这份文档堪称面试必备
  2. 年前面试京东3面凉经~ 面试过程与真题全分享+备战春招(java)
  3. 记录整个面试历程(附字节,阿里,百度,网易,美团等面经)

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

0de3f857367ebd3a4b438d30e21d7dd9.png

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

026bbee8dcbb9d596dd3024a83fafcd9.png

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

95679b88de9445fddfb6136352ca92ef.png

慌不要慌,淡定。我有上网法宝,我怕谁,一通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空闲,开心

79cf5cb0449e11cf9c6aa6080d59dab4.png

注:

  • gitlab配置说明【至少要2 core, 8G RAM】:https://gitlab.com/gitlab-org/gitlab-foss/blob/master/doc/install/requirements.md
  • 设置kernal swapping: https://askubuntu.com/questions/103915/how-do-i-configure-swappiness/103916#103916

转载地址:https://www.cnblogs.com/NaughtyCat/p/gitlab-eat-too-much-memory-and-response-with-502-error.html

作者:CoderBaby

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值