502 Gitlab花了太多时间来回应

问题描述 投票:2回答:2

每天服用gitlab备份后,gitlab会抛出502错误。我看到了nginx日志,但没有找到那么多信息。

enter image description here

gitlab-ctl restart之后它再次开始工作。

系统配置:操作系统:Ubuntu 16.04 LTS 4 GB Ram 200 GB磁盘空间

任何人都可以给它永久的解决方案。

nginx gitlab connection-timeout gitlab-omnibus
2个回答
1
投票

它很可能耗尽共享内存。每次备份后,您都会收到502错误。

gitlab-ctl tail tail detail检查一下

它会显示如下:

2019-04-12_12:37:17.27154 FATAL:  could not map anonymous shared memory: Cannot allocate memory
2019-04-12_12:37:17.27157 HINT:  This error usually means that PostgreSQL's request for a shared memory segment exceeded available memory, swap space, or huge pages. To reduce the request size (currently 4345470976 bytes), reduce PostgreSQL's shared memory usage, perhaps by reducing shared_buffers or max_connections.
2019-04-12_12:37:17.27171 LOG:  database system is shut down

然后使用free -m进行检查,这表明没有可用的共享内存。

             total       used       free     shared    buffers     cached
Mem:         16081      13715       2365          0        104        753
-/+ buffers/cache:      12857       3223

然后你需要检查是否有一些进程需要太多的共享内存,或者太多的zomibe进程,然后使用像ps -aef | grep ffmpeg | awk '{print $2}' | xargs kill 9 这样的命令来杀死它

检查它与free -h,现在有关于112M共享内存。

             total       used       free     shared    buffers     cached
Mem:           15G       4.4G        11G       112M        46M       416M
-/+ buffers/cache:       3.9G        11G
Swap:           0B         0B         0B

最后,用gitlab-ctl restart重启gitlab,gitlab启动后,502就消失了。


0
投票

经过长时间的搜索,我得到了一些关于它在备份后,我的gitlab-workhorse变得理想,gitlab.socket拒绝连接。作为临时解决方案,我已经安装了一个新的cron作业,用于在gitlab备份cronjob的complpetion之后重启gitlab服务。

© www.soinside.com 2019 - 2024. All rights reserved.