服务器搭建了一个 gitlab 服务器以供自己开发使用,服务器搭建很简单,但是使用起来是相当的卡顿,在代码 pull,push 过程中都会有相应的延迟。gitlab 启动运行就占用了大量的内存,4G内存在启动后已经所剩无几。想再进行 git 相关操作自然也就会出现卡顿现象。
通过 cat /proc/swaps 命令查看swap分区情况:
结果如下图所示,可以看到并没有swap分区:
[root@flexusx-328569 data]# cat /proc/swaps
Filename Type Size Used Priority
[root@flexusx-328569 data]#
解决方法-全部步骤
[root@flexusx-328569 ~]# dd if=/dev/zero of=/data/swap bs=512 count=8388616
8388616+0 records in
8388616+0 records out
4294971392 bytes (4.3 GB, 4.0 GiB) copied, 34.1612 s, 126 MB/s
[root@flexusx-328569 ~]# mkswap /data/swap
mkswap: /data/swap: insecure permissions 0644, fix with: chmod 0600 /data/swap
Setting up swapspace version 1, size = 4 GiB (4294967296 bytes)
no label, UUID=85a751ba-873a-4c54-9e3c-7e78353da71b
[root@flexusx-328569 ~]# cat /proc/sys/vm/swappiness
0
[root@flexusx-328569 ~]# sysctl -w vm.swappiness=60
vm.swappiness = 60
[root@flexusx-328569 ~]# cat /proc/sys/vm/swappiness
60
[root@flexusx-328569 ~]# swapon /data/swap
swapon: /data/swap: insecure permissions 0644, 0600 suggested.
[root@flexusx-328569 ~]# cat /proc/swaps
Filename Type Size Used Priority
/data/swap file 4194304 0 -2
[root@flexusx-328569 ~]# cd /data/
[root@flexusx-328569 data]# ls
gitlab nginx redis swap
[root@flexusx-328569 data]#
1、创建 swap 分区(这里需要等待几秒)
[root@flexusx-328569 ~]# dd if=/dev/zero of=/data/swap bs=512 count=8388616
8388616+0 records in
8388616+0 records out
4294971392 bytes (4.3 GB, 4.0 GiB) copied, 34.1612 s, 126 MB/s
[root@flexusx-328569 ~]#
注意:创建swap大小为bs*count=4294971392(4G),/data/swap目录若无则找/mnt/swap
2、通过mkswap命令将上面新建出的文件做成swap分区
[root@flexusx-328569 ~]# mkswap /data/swap
mkswap: /data/swap: insecure permissions 0644, fix with: chmod 0600 /data/swap
Setting up swapspace version 1, size = 4 GiB (4294967296 bytes)
no label, UUID=85a751ba-873a-4c54-9e3c-7e78353da71b
[root@flexusx-328569 ~]#
3、查看内核参数vm.swappiness中的数值是否为0,如果为0则根据实际需要调整成60
查看参数:
cat /proc/sys/vm/swappiness
设置参数:
sysctl -w vm.swappiness=60
4、启用 swap 分区
swapon /data/swap
echo “/data/swap swap swap defaults 0 0” >> /etc/fstab
5、再次使用cat /proc/swaps 查看swap分区是否启动
[root@flexusx-328569 data]# cat /proc/swaps
Filename Type Size Used Priority
/data/swap file 4194304 25940 -2
[root@flexusx-328569 data]#
可以看到,swap分区已经启用,现在通过 gitlab 进行操作会发现很流畅