手工為Linux新增swap空間

2021-08-27 17:12:09 字數 1321 閱讀 6892

執行程式時,老是提示out of memory,實在沒有什麼好方法,所以想通過新增swap緩衝空間,

方法一:使用swap檔案,優點是操作比較簡單,缺點是速度慢且容易產生磁碟碎片.

在swap空間不夠用的情況下,如何手工新增swap空間

以下的操作都要在root使用者下進行,首先先建立乙個分割槽,採用dd命令比如

dd if=/dev/zero of=/home/swap bs=1024 count=512000

((註解:用dd命令建立乙個swap檔案(因為swap檔案要求必須是連續的)

#dd if=/dev/zero of=/sbin/mkswap /home/swap

再接著使用這個swap分割槽。使其成為有效狀態。

/sbin/swapon /home/swap

使用swapon -a 啟用swap檔案,使用swap -s檢視swap檔案是否啟用。

現在再用free -m命令檢視一下記憶體和swap分割槽大小,就發現增加了512m的空間了。不過當電腦重啟了以後,發現swap還是原來那麼大,新的swap沒有自動啟動,還要手動啟動。那我們需要修改/etc/fstab檔,增加如下一行

/home/swap swap swap defaults 0 0

你就會發現你的機器自動啟動以後swap空間也增大了。

方法二、使用swap分割槽。優點是速度快,缺點是需要磁碟有未分配空間且操作稍微複雜一些。

1、使用fdisk命令建立乙個新的分割槽,分割槽型別為82

2、使用mkswap轉化新分割槽對應的裝置檔案(如:/dev/hda6)

3、使用swapon -a 啟用swap檔案,使用swap -s檢視swap檔案是否啟用。

4、最後加在/etc/fstab,使每次開機都會自動啟用swap

修復休眠

1 確保安裝了最新版本的initramfs-tools2 執行sudo blkid,檢視swap分割槽的uuid (注:如果swap分割槽沒有uuid,那麼可以用gparted重新格式化swap分割槽,新產生的分割槽就會有uuid了)3 修改/etc/fstab中的swap分割槽的uuid與第2步中的uuid相同4 修改/etc/initramfs-tools/conf.d/resume中的uuid與第2步中的相同5 執行sudo update-initramfs -u更新 initrd.image

6 重啟ok了

resume檔案的內容相當簡單,就一行,像這樣resume=label=swapresume=後面的格式和 fstab 的第一欄一樣。改了後還要sudo update-initramfs -u更新 initrd。

為Linux系統手工新增SWAP空間

根據redhat公司的建議,linux系統swap分割槽最適合的大小是物理記憶體的1 2倍.不過linux上有些軟體對swap分割槽得需求較大,例如要順利執行oracle資料庫軟體,swap分割槽至少需要400mb或者物理記憶體2倍以上的空間.當然我們在安裝linux的時候,就能直接講swap分割槽...

Linux手工新增swap

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

Linux新增swap分割槽

根據redhat公司的建議,linux系統swap分割槽最適合的大小是物理記憶體的1 2倍.不過linux上有些軟體對swap分割槽得需求較大,例如要順利執行oracle資料庫軟體,swap分割槽至少需要400mb或者物理記憶體2倍以上的空間.當然我們在安裝linux的時候,就能直接講swap分割槽...