gitlab访问慢,出现502,特别卡,耗内存cpu解决办法

Posted zyb2016

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了gitlab访问慢,出现502,特别卡,耗内存cpu解决办法相关的知识,希望对你有一定的参考价值。

前言

浏览器访问gitlab的web页面,发现非常慢,并且很容易出现502问题。其中一个原因就是8080端口被tomcat占用,前面一篇已经更换了端口,但还是很慢。
后来搜了下,原因是gitlab占用内存太多,导致服务器崩溃。尤其是使用阿里云的服务器,最容易出现502.
默认情况下,阿里云云主机的swap功能是没有启用的,解决办法就是启动swap分区。

Swap分区

Swap分区在系统的物理内存不够用的时候,把物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap分区中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。

阿里云服务器默认swap分区是没启动的,输入free查看,如下显示的都是0

[[email protected] sbin]# free
              total        used        free      shared  buff/cache   available
Mem:        3881692     3219200      369316       52184      293176      360244
Swap:             0           0           0

也可以通过cat /proc/swaps查看

[[email protected] sbin]# cat /proc/swaps
Filename                Type        Size    Used    Priority

启用swap分区

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

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

注:of=/mnt/swap目录要是没有就找/data/swap

通过mkswap命令将上面新建出的文件做成swap分区

mkswap /mnt/swap

查看内核参数vm.swappiness中的数值是否为0,如果为0则根据实际需要调整成60

vim /etc/sysctl.conf

vim编辑/etc/sysctl.conf,找到vm.swappiness变量配置,改成60
修改前

vm.swappiness = 0
net.ipv4.neigh.default.gc_stale_time=120

修改后

vm.swappiness = 60
net.ipv4.neigh.default.gc_stale_time=120

启用分区

swapon /mnt/swap
echo “/data/swap swap swap defaults 0 0” >> /etc/fstab

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

[[email protected] sbin]# cat /proc/swaps 
Filename                Type        Size    Used    Priority
/mnt/swap                               file        4194304 0   -1

总的操作步骤如下

[[email protected] sbin]# cat /proc/swaps
Filename                Type        Size    Used    Priority
[[email protected] sbin]# free
              total        used        free      shared  buff/cache   available
Mem:        3881692     3219200      369316       52184      293176      360244
Swap:             0           0           0

[[email protected] sbin]# dd if=/dev/zero of=/mnt/swap bs=512 count=8388616
8388616+0 records in
8388616+0 records out
4294971392 bytes (4.3 GB) copied, 38.5364 s, 111 MB/s

[[email protected] sbin]# mkswap /mnt/swap
Setting up swapspace version 1, size = 4194304 KiB
no label, UUID=1fa0acbf-ef66-49bd-ad05-e9fcf2727cc8

[[email protected] sbin]# vim /etc/sysctl.conf
# vm.swappiness中的数值是否为0,如果为0则根据实际需要调整成60

[[email protected] sbin]# swapon /mnt/swap
swapon: /mnt/swap: insecure permissions 0644, 0600 suggested.
[[email protected] sbin]# echo “/data/swap swap swap defaults 0 0” >> /etc/fstab
[[email protected] sbin]# cat /proc/swaps 
Filename                Type        Size    Used    Priority
/mnt/swap                               file        4194304 0   -1
[[email protected] sbin]# free
              total        used        free      shared  buff/cache   available
Mem:        3881692     3387168      165488       52184      329036      200184
Swap:       4194304           0     4194304

以上是关于gitlab访问慢,出现502,特别卡,耗内存cpu解决办法的主要内容,如果未能解决你的问题,请参考以下文章

gitlab报错

为啥rabbitMQ启动特别慢

centos7搭建Gitlab服务器

记录一次gitlab占用cpu过高问题处理方法

Gitlab管理网页老是500错误?增加物理内存吧

打开网页很慢 还出现502 Bad Gateway 请问是啥原因啊?