前言
瀏覽器訪問gitlab的web頁面,發現非常慢,並且很容易出現502問題。其中一個原因就是8080端口被tomcat占用,前面一篇已經更換了端口,但還是很慢。
后來搜了下,原因是gitlab占用內存太多,導致服務器崩潰。尤其是使用阿里雲的服務器,最容易出現502.
默認情況下,阿里雲雲主機的swap功能是沒有啟用的,解決辦法就是啟動swap分區。
Swap分區
Swap分區在系統的物理內存不夠用的時候,把物理內存中的一部分空間釋放出來,以供當前運行的程序使用。那些被釋放的空間可能來自一些很長時間沒有什么操作的程序,這些被釋放的空間被臨時保存到Swap分區中,等到那些程序要運行時,再從Swap分區中恢復保存的數據到內存中。
阿里雲服務器默認swap分區是沒啟動的,輸入free查看,如下顯示的都是0
[root@yoyo sbin]# free total used free shared buff/cache available Mem: 3881692 3219200 369316 52184 293176 360244 Swap: 0 0 0
也可以通過cat /proc/swaps查看
[root@yoyo 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分區是否啟動
[root@yoyo sbin]# cat /proc/swaps Filename Type Size Used Priority /mnt/swap file 4194304 0 -1
總的操作步驟如下
[root@yoyo sbin]# cat /proc/swaps Filename Type Size Used Priority [root@yoyo sbin]# free total used free shared buff/cache available Mem: 3881692 3219200 369316 52184 293176 360244 Swap: 0 0 0 [root@yoyo 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 [root@yoyo sbin]# mkswap /mnt/swap Setting up swapspace version 1, size = 4194304 KiB no label, UUID=1fa0acbf-ef66-49bd-ad05-e9fcf2727cc8 [root@yoyo sbin]# vim /etc/sysctl.conf # vm.swappiness中的數值是否為0,如果為0則根據實際需要調整成60 [root@yoyo sbin]# swapon /mnt/swap swapon: /mnt/swap: insecure permissions 0644, 0600 suggested. [root@yoyo sbin]# echo “/data/swap swap swap defaults 0 0” >> /etc/fstab [root@yoyo sbin]# cat /proc/swaps Filename Type Size Used Priority /mnt/swap file 4194304 0 -1 [root@yoyo sbin]# free total used free shared buff/cache available Mem: 3881692 3387168 165488 52184 329036 200184 Swap: 4194304 0 4194304