每天进行 gitlab 备份后,gitlab 会抛出 502 错误。我看到了 nginx 日志,但没有找到那么多信息。
在 gitlab-ctl restart
它再次开始工作之后。
系统配置:操作系统:Ubuntu 16.04 LTS 4 GB Ram 200 GB 磁盘空间
任何人都可以为它提供永久的解决方案。
每天进行 gitlab 备份后,gitlab 会抛出 502 错误。我看到了 nginx 日志,但没有找到那么多信息。
在 gitlab-ctl restart
它再次开始工作之后。
系统配置:操作系统:Ubuntu 16.04 LTS 4 GB Ram 200 GB 磁盘空间
任何人都可以为它提供永久的解决方案。
它很有可能用完共享内存。每次备份后都会出现 502 错误。
用尾部细节检查它gitlab-ctl tail
它将显示如下内容:
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 gitlab-ctl restart
,在 gitlab 启动一段时间后,502 消失了。
经过长时间的搜索,我得到了一些关于它的信息。备份后,我gitlab-workhorse
变得理想并gitlab.socket
拒绝连接。作为临时解决方案,我安装了一个新的 cron 作业,用于在 gitlab 备份 cronjob 完成后重新启动 gitlab 服务。
如果 gitlab 安装在Virtual-Box
- Ubuntu server
或18.04
,20.04
请增加 RAM
4gb
并提供至少3 processors
.