Linux的Swap相當于Windows的虛擬內存,當物理內存不夠的時候,就需要將物理內存中的一部分空間釋放出來,以供當前運行的程序使用。
那些被釋放出來的空間可能來自一些很長時間沒有什么操作的程序,這些被釋放的空間臨時保存到Swap空間中,等到那些程序要運行時,再從Swap中恢復保存的數據到內存中。這樣,系統總是在物理內存不夠時才進行Swap交換。
Swap設置多大比較好?
并不是說Swap設置越大越好,具體要看你運行什么程序。一般來說,2G以下物理內存的服務器Swap設置為物理內存的1至2倍即可,2G以上物理內存的服務器Swap設置為同物理內存大小或不設置也可以。
修改Linux服務器虛擬內存Swap大小方法
執行以下命令:
dd if=/dev/zero of=/home/swap bs=1M count=2048
以上命令在home目錄創建了一個1G大小的文件,將用于添加虛擬內存。接下來將/home/swap格式化為Swap格式:
mkswap /home/swap
啟用Swap:
swapon /home/swap
查看是否生效:
free
需要注意,重啟系統后就失效了,如果希望重啟系統后仍然有效,請編輯文件fstab:
vi /etc/fstab
加入一行:
/home/swap swap swap defaults 0 0
注意,該文件如果編寫不正確可能導致無法開機,編輯完成執行以下命令測試一下:
mount -a
沒有提示什么就表示正確了。
最后,還應該設置一下文件權限:
chown root:root /home/swap
chmod 0600 /home/swap
此方法更改后的swap 空間,附加空間,實在原有的空間基礎之上增加。
如果后悔了,想要刪掉,請先執行:
swapoff /home/swap
然后刪除swap文件:
rm /home/swap