每天服用gitlab备份后,gitlab会抛出502错误。我看到了nginx日志,但没有找到那么多信息。
在gitlab-ctl restart
之后它再次开始工作。
系统配置:操作系统:Ubuntu 16.04 LTS 4 GB Ram 200 GB磁盘空间
任何人都可以给它永久的解决方案。
它很可能耗尽共享内存。每次备份后,您都会收到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就消失了。
经过长时间的搜索,我得到了一些关于它在备份后,我的gitlab-workhorse
变得理想,gitlab.socket
拒绝连接。作为临时解决方案,我已经安装了一个新的cron作业,用于在gitlab备份cronjob的complpetion之后重启gitlab服务。