手工為Linux新增swap大小

xunmingxxx發表於2012-04-17

根據Redhat公司的建議,Linux系統swap分割槽最適合的大小是實體記憶體的1-2倍.不過Linux上有些軟體對swap分割槽得需求較大,例如要順利執行Oracle資料庫軟體,swap分割槽至少需要400MB或者實體記憶體2倍以上的空間.當然我們在安裝Linux的時候,就能直接講swap分割槽設定到足夠的大小,但如果已經安裝好Linux了,之後又想再安裝類似Oracle的軟體,卻發現swap分割槽空間不夠,該如何處理?

針對此種情況,有兩種解決方法:一是建立新的swap分割槽;另一則是建立swap檔案.

(這裡暫時對建立swap檔案做說明)

建立swap檔案
如果你的硬碟空間已經全部分配給其他分割槽,也沒有多餘的預算新添購硬碟,我們可以利用swap檔案的方式增加虛擬的swap空間,不過執行效能會較實際的swap分割槽差.

產生swap檔案
要建立swap檔案,執行dd命令,新增一個256MB的swap檔案:

# dd if=/dev/zero of=/tmp/myswap bs=32k count=8192
(bs=32k指定每個扇區佔用32kb,讀入了8192 0個區段,輸出了8192 0個區段)

注意:bs引數的目的在於指定每次讀取及輸入多少個bytes;由於磁碟存取的最小單位為扇區,因此設定bs也等於設定每個扇區的大小;而count的目的則在指定可以使用多少個扇區.因此,可以使用的硬碟空間就等於bs*count.以上範例為例,可以使用的硬碟空間等於32*8192=262144(KB),亦等於256MB.

執行上述命令後,會在/tmp目錄中建立一個256MB的myswap檔案

格式華及啟動swap檔案
接下來執行mkswap命令,將myswap檔案格式化成s檔案系統,系統才能使用,切換到/tmp目錄,並執行以下命令:

# mkswap myswap (#將檔案格式化為swap檔案格式)
setting up swapspace version 1 , size = 262144 KB
# swapon /tmp/myswap (#啟動swap分割槽)

要停止使用新建立的swap檔案,只要執行 swapoff /tmp/myswap命令即可.

開機時自動啟動新新增的swap分割槽
如果每次開機後都要執行swapon命令啟動swap分割槽或者檔案,這太麻煩了.這時可以利用文字編輯器在/etc/fstab檔案加一行,好讓開機時自動啟動swap分割槽及檔案:

/dec/hdb5 swap swap defaults 0 0 (開機時啟動此swap分割槽)
/tmp/myswap swap swap defaults 0 0 (開機時啟動此swap檔案)

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24829399/viewspace-1057927/,如需轉載,請註明出處,否則將追究法律責任。

相關文章