一、问题说明
我们搭建好GitLab服务后,在打开GitLab地址访问时,如果服务器的硬件配置不够好,界面可能会出现502的报错,如下图:
二、查看系统状况
使用top命令查看系统状况。
如果出现如下图一般,GitLab占用内存和CPU过高(user为git和gitlab-+的全是gitlab的东西),导致服务器崩溃,则可以考虑通过启用swap交换分区去解决,具体操作详见下文。
三、设置Swap(交换)分区
1、查看内存情况
free -h
由下图可以看出,Swap相关数据为0,服务器并没有设置交换分区
2、创建文件
创建大小为2GB的交换文件,大小可按你的实际需求去创建。命令如下:
# if=文件名,即指定源文件;of=文件名,即指定目的文件,自行定义
dd if=/dev/zero of=/root/swap bs=1M count=2048
3、建立交换分区
# 在/root/swap文件上创建交换分区,即格式化为交换分区文件
mkswap /root/swap
4、启用交换分区
swapon /root/swap
提示“swapon: /root/swap: insecure permissions 0644, 0600 suggested.”,建议把swap设置成644或600权限。
可使用以下命令进行设置(可选)
# 将swap设置为600权限,即只有拥有者(我这是root)才有读写权限
chmod 600 /root/swap
5、验证交换分区启用
由上图可见,已设置2G的Swap分区。
也可以使用以下命令去验证:
swapon -s
# 或者
cat /proc/swaps
6、设置开机自启动(可选)
打开 /etc/fstab 文件(vi /etc/fstab),在文件最后添加以下内容并保存
/root/swap swap swap defaults 0 0
或者直接命令行输入
echo “/root/swap swap swap defaults 0 0” >> /etc/fstab
到此,我们就完成了Swap分区设置。可以继续通过top命令查看cpu、内存以及gitlab相关进程情况,看是否已经解决问题。
若重新打开GitLab地址进行访问,出现以下界面,则表示访问已正常。
x