云计算百科
云计算领域专业知识百科平台

Docker 搭建 gitlab 服务器卡顿问题解决方法(创建:swap分区)

Docker 安装系列

服务器搭建了一个 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 进行操作会发现很流畅

成功地创建并启用了 4 GiB 的交换文件 /data/swap。然而,由于交换文件的权限不够严格(0644),系统给出了安全警告。为了消除这个警告并且确保交换文件的安全性,你应该修改文件权限:

chmod 0600 /data/swap

之后再尝试重新启用交换文件:

swapon /data/swap

此外,为了使这些更改在重启后仍然有效,请编辑 /etc/fstab 文件,添加一行来自动挂载交换文件:

vim /etc/fstab

/data/swap none swap defaults 0 0

最后,如果你希望永久改变 swappiness 参数,可以将其添加到 /etc/sysctl.conf 文件中:

vim /etc/sysctl.conf

vm.swappiness=60

然后运行以下命令使其生效:

sysctl -p        

 这样,即使服务器重启,交换文件也会自动挂载,并且 swappiness 参数也会保持为你设置的值

赞(0)
未经允许不得转载:网硕互联帮助中心 » Docker 搭建 gitlab 服务器卡顿问题解决方法(创建:swap分区)
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!