GitLab 502错误解决办法

一、首先看看配置文件/etc/gitlab/gitlab.rb 中的端口号是否被占用

二、另外一个原因是gitlab占用内存太多,导致服务器崩溃

如果服务器内存小于2G,是启动不了Gitlab的,会报502错误。
内存实在扩充不了只能开启swap分区了。

swap是干嘛的?

在Linux下,SWAP的作用类似Windows系统下的“虚拟内存”。当物理内存不足时,拿出部分硬盘空间当SWAP分区(虚拟成内存)使用,从而解决内存容量不足的情况。

SWAP意思是交换,顾名思义,当某进程向OS请求内存发现不足时,OS会把内存中暂时不用的数据交换出去,放在SWAP分区中,这个过程称为SWAP OUT。当某进程又需要这些数据且OS发现还有空闲物理内存时,又会把SWAP分区中的数据交换回物理内存中,这个过程称为SWAP IN。

当然,swap大小是有上限的,一旦swap使用完,操作系统会触发OOM-Killer机制,把消耗内存最多的进程kill掉以释放内存。

通过创建swap分区解决Gitlab 502错误

  1. 查看swap分区是否启动(无)
cat /proc/swaps 

如果没显示则创建

dd if=/dev/zero of=/data/swap bs=512 count=8388616

创建swap大小为bs*count=4294971392(4G);

  1. 通过mkswap命令将上面新建出的文件做成swap分区
mkswap /data/swap
  1. 查看内核参数vm.swappiness中的数值是否为0,如果为0则根据实际需要调整成60
#查看: 
cat /proc/sys/vm/swappiness
#设置: 
sysctl -w vm.swappiness=60
#若想永久修改,则编辑/etc/sysctl.conf文件,改文件中有vm.swappiness变量配置,默认为0
  1. 启用分区
swapon /data/swap
echo “/data/swap swap swap defaults 0 0” >> /etc/fstab

再次使用cat /proc/swaps 查看swap分区是否启动

  1. 重启 GitLab
#停止 GitLab
sudo gitlab-ctl stop
#启动 GitLab
sudo gitlab-ctl start
#重启 GitLab
sudo gitlab-ctl restart

猜你喜欢

转载自blog.csdn.net/dndndnnffj/article/details/111926896
今日推荐