天天看點

wubi安裝ubuntu後,增加swap大小,優化swap的使用參數-----------讓ubuntu健步如飛,為編譯android源碼準備

wubi安裝ubuntu後,終端輸入free -m可以查到如下資訊:

total       used       free     shared    buffers     cached
Mem:          1944       1801        143          0        557        706
-/+ buffers/cache:        536       1407
Swap:          255          7        248
           

也即記憶體為2G,虛拟記憶體為256M,這太小了尤其是編譯android源碼的時候。是以将其增加到1G大小。具體步驟是:

1,建立/swap檔案夾。然後cd進去,終端輸入:sudo dd if=/dev/zero of=swapfile bs=1024 count=1000000

sudo dd if=/dev/zero of=swapfile bs=1024 count=1000000
           

最後的count就是虛拟記憶體的大小,後面有6個0,前面是1,表示1G. 坑爹的文檔http://www.hx95.com/Article/Tech/201205/55661.html後面隻有5個0還說表示1G. 稍等約1分鐘看到如下資訊:

記錄了1000000+0 的讀入
記錄了1000000+0 的寫出
1024000000位元組(1.0 GB)已複制,27.2124 秒,37.6 MB/秒
           

2,這個時候在swap目錄下就生成了swapfile檔案。終端輸入:du -h swapfile 可以檢視生成的檔案swapfile大小為977M.

[email protected]:/swap$ du -h swapfile 
977M	swapfile
           

約等于1G.

     接下來需要将swapfile轉換成Swap檔案,終端輸入:sudo mkswap -f  swapfile  (mkswap是指令,後面的swapfile是swap檔案夾下新生成的檔案名字)

[email protected]:/swap$ sudo mkswap -f swapfile
Setting up swapspace version 1, size = 999996 KiB
no label, UUID=a1363520-df39-4cdf-9e99-198fdf1eb17c
           

3, 激活swap檔案

     終端輸入:sudo swapon swapfile(swapon是指令,swapfile是檔案名字)

然後再輸入 free -m可以看到:

[email protected]:/swap$ free -m
             total       used       free     shared    buffers     cached
Mem:          1944       1808        135          0        511        758
-/+ buffers/cache:        538       1405
Swap:         1232          7       1224
           

Swap的大小1232 = 255(原來的) + 977 (新增加的)

      如果要修改或者删除這個swapfile檔案,需要先解除安裝這個swapfile。進入到swap目錄,然後終端輸入:sudo sawpoff swapfile,這就解除安裝了。swapfile檔案就可以删除了,否則會提示正在使用或忙 無法删除。

      如果要一直保持這個新增的swap,通過切換到root,gedit /etc/fstab, 在裡面增加一句:/swap/swapfile none swap defaults 0 0 。關于這句話,參考1的指令是/swap/swapfile none swap defaults 0 0,參考2的指令/swap/swapfile /swap swap defaults 0 0。個人覺的第二個參數表示原來系統的swap檔案夾,如果原系統沒有swap檔案夾,則用參考1裡的指令。如果原系統本來就有/swap檔案夾了,也即本來就有swap空間然後又新增加了一個,就用參考2的指令。 Ubuntu12.04上原本沒有/swap檔案夾,是以用參考1的指令。

參考:1,http://blog.csdn.net/mznewfacer/article/details/7334592

           2,http://www.linuxidc.com/Linux/2010-09/28915.htm

         另外,注意上面建立swap使用後,現有swap是兩者之和。http://www.blogjava.net/zygcs/archive/2011/09/02/357845.html這裡的方法大同小異,隻不過是先cd /host/ubuntu/disks/  可以看到有個swap.disk, 利用du -h swap.disk檢視大小為255M,然後sudo swapoff swap.disk取消使用這個系統自帶的交換空間。然後删除掉,通過以下步驟:

4. sudo dd if=/dev/zero of=swap.disk bs=1M count=1k (建立1G的swap, 這步比較慢)

5. sudo mkswap -f swap.disk

6. sudo swapon /host/ubuntu/disks/swap.disk (這步更慢,大概1分鐘不到)

這是在/host/ubuntu/disks/目錄下建立的,名字為swap.disk. 本質是一樣的。 再就是建立swap時大小是bs*count,如果bs=1M 則count =1k表示1G,如果bs=1024, count=1000000 表示1G,我覺的前者更精确。

       接下來是優化swap的使用參數,linux裡有個參數swappiness。當值為0時最大限度的使用實體記憶體,實體記憶體使用完後再使用swap記憶體。為100時,最大限度的使用swap,并将記憶體中的資料也要搬到swap裡處理,這是兩個極端。預設的參數是60,根據這裡将其改為10較優。步驟如下:

1,檢視目前的swappiness

終端輸入:cat 

/proc/sys/vm/swappiness

2.修改swappiness值為10

$ sudo sysctl vm.swappiness=10

但是這隻是臨時性的修改,在你重新開機系統後會恢複預設的60,是以,還要做一步:

$ sudo gedit /etc/sysctl.conf

在這個文檔的最後加上這樣一行:

vm.swappiness=10

然後儲存,重新開機。ok,你的設定就生效了。你會發現,現在烏斑兔兒跑得更快了!

繼續閱讀