vps的內存一般比較小(主要看你購買的是哪種,如果資金充足,買更大內存的vps就好了,加預算可以解決很多問題),有時會因爲內存不足出各種故障,如何解決可能會發生的內存不足的問題呢?
可以通過添加虛擬內存來解決內存不足的問題。
但是虛擬內存終究沒有內存性能好,添加多了會浪費資源,所以一般添加內存的1.5倍~2倍
可以通過下面命令查看內存使用情況,有沒有swap,swap沒有顯示或者是零,就說明沒有swap
free -m
添加虛擬內存的方法如下:
方法一:使用Linux命令添加swap
以給512M的centos系統(不同發行版本部分命令不同)的vps添加2倍內存爲例(1G)
1、創建一個swap文件(可以修改swap目錄,如of=/swap,但是後面掛載分區之類的話,也要記得不是/home/swap目錄)
dd if=/dev/zero of=/home/swap bs=1024 count=1024000
2、使用mkswap格式化文件爲swap文件系統
mkswap -f /home/swap
3、掛載分區
swapon /home/swap
4、修改/etc/fstab文件,防止重啓後swap分區變成0
vi /etc/fstab
5、在/etc/fstab文件最後一行添加以下代碼,保存
/home/swap swap swap default 0 0
6、如不需要,刪除如下:
關閉掛載
swapoff /home/swap
刪除空間
rm /home/swap
7、查看swap是否成功,swap有顯示數字就成功了
free -m
方法二:使用第三方腳本添加swap
腳本來源於:Rat ‘s Blog
https://www.moerats.com/archives/722/
只需輸入以下命令安裝
wget https://www.moerats.com/usr/shell/swap.sh && bash swap.sh
運行
bash swap.sh
添加爲選1,刪除選2,選好回車,然後輸入你想要的虛擬內存大小,填寫純數字,默認單位爲M
方法三:自定義腳本,來源於:
https://blog.51cto.com/supermk/1918987
#!/bin/bash
fdisk /dev/vdb <<end
n
$1
t
82
wq
end
partprobe
mkswap /dev/vdb1
swapon -a /dev/vdb1
echo /dev/vdb1 swap swap defaults 0 0 >> /etc/fstab