前几天搭建了gitlab服务器,用的阿里云主机(CPU: 1核 内存:2 GB (I/O优化) 1Mbps),系统:Ubuntu16.04,但是搭建完使用的时候经常会卡,尤其每次pull或者push代码的时候,浏览器会报502,后来网上找了下原因,解决了,记录下
原因是gitlab占用内存太多,导致服务器崩溃
在网上搜索解决办法,看见网友使用1G内存的服务器都可以搭建并使用,关键点在Swap分区的使用,也是本文的主角。
默认情况下,阿里云云主机的swap功能是没有启用的,原因当然是通过取消swap功能可以降低磁盘IO的占用率来让用户购买更多的内存、提高磁盘寿命和性能。
解决办法,启用swap分区,步骤如下:
1.cat /proc/swaps 查看swap分区是否启动(无)
2.创建 :dd if=/dev/zero of=/data/swap bs=512 count=8388616
创建swap大小为bs*count=4294971392(4G);
- /data/swap目录若无则找/mnt/swap(我这里是这个)
3.通过mkswap命令将上面新建出的文件做成swap分区
mkswap /data/swap
4.查看内核参数vm.swappiness中的数值是否为0,如果为0则根据实际需要调整成60
- 查看: cat /proc/sys/vm/swappiness
- 设置: sysctl -w vm.swappiness=60
- 若想永久修改,则编辑/etc/sysctl.conf文件,改文件中有vm.swappiness变量配置,默认为0
5.启用分区
- swapon /data/swap
- echo “/data/swap swap swap defaults 0 0” >> /etc/fstab
6.再次使用cat /proc/swaps 查看swap分区是否启动: