為Linux系統手工新增SWAP空間

2021-04-21 10:29:29 字數 1324 閱讀 1808

根據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檔案)

手工為Linux新增swap空間

執行程式時,老是提示out of memory,實在沒有什麼好方法,所以想通過新增swap緩衝空間,方法一 使用swap檔案,優點是操作比較簡單,缺點是速度慢且容易產生磁碟碎片.在swap空間不夠用的情況下,如何手工新增swap空間 以下的操作都要在root使用者下進行,首先先建立乙個分割槽,採用d...

Linux手工新增swap

swap是一把雙刃劍,在實踐中發現,嚴重的會導致linux負載超高,失去響應kswap記憶體的資訊轉存到swap 硬碟 在記憶體較大的情況下不建議建立swap!師夷長技以制夷!dd if dev zero of swapfile1 bs 1m count 512 mkswap swapfile1 s...

為linux新增系統呼叫

這篇文章簡單的介紹了如何為linux新增乙個系統呼叫。也就是為linux增加乙個api函式。通過這篇文章,應該學會如何 簡單的修改linux源 編譯核心。首先 1 cd usr src linux kernel a linkage int sys mycall int num 3.cd usr sr...