優化swap
在ubuntu 裡面,swappiness的值的大小對如何使用swap分區是有着很大的聯系的。
swappiness=0的時候表示最大限度使用實體記憶體,然後才是 swap空間,
swappiness=100的時候表示積極的使用swap分區,并且把記憶體上的資料及時的搬運到swap空間裡面。
兩個極端,對于ubuntu的預設設定,這個值等于60,建議修改為10。具體這樣做:
1.檢視你的系統裡面的swappiness
$ cat /proc/sys/vm/swappiness
不出意外的話,你應該看到是 60
2.修改swappiness值為10
$ sudo sysctl vm.swappiness=10
但是這隻是臨時性的修改,在你重新開機系統後會恢複預設的60,是以,還要做一步:
$ vim gedit /etc/sysctl.conf
在這個文檔的最後加上這樣一行:
vm.swappiness=10
然後儲存,重新開機。ok,你的設定就生效了。
調整swap分區大小
我的wubi安裝後,1G記憶體,自動配置設定了255M的swap, ,而且ubuntu到了記憶體耗盡的是時候表現很差,硬碟狂轉,螢幕幾乎停頓。就是ctrl+alt+F2切換到shell去 殺死一些程序也機器緩慢。另外hibernate的時候也會因為swap和記憶體大小不一緻而失敗,是以有必要擴大swap. 步驟如下:
1. cd /host/ubuntu/disks/
2. sudo swapoff swap.disk
3. sudo rm swap.disk
4. sudo dd if=/dev/zero of=swap.disk bs=1M count=2k (建立2G的swap, 這步比較慢 建立分區的大小就= bs * count)
5. sudo mkswap -f swap.disk
6. sudo swapon /host/ubuntu/disks/swap.disk
至此運作free指令,應該看到swap已經2G了