1.首先用命令free查看系統內 Swap 分區大小。free -m
total used free shared buffers cached
Mem: 2012 1960 51 0 748 950
-/+ buffers/cache: 260 1751
Swap: 255 0 255
可以看到 Swap 只有255M,下面我們來擴大到2G。
2.創建一個 Swap 文件。[建議:如果編譯源碼的同學,count=?最好設置的超過6G]mkdir /swapfile
cd /swapfile
sudo dd if=/dev/zero of=swap bs=1024 count=2000000
出現下列提示,上面命令中的 count 即代表swap文件大小。
記錄了2000000+0 的讀入
記錄了2000000+0 的寫出
2048000000字節(2.0 GB)已復制,63.3147 秒,32.3 MB/秒
把生成的文件轉換成 Swap 文件
sudo mkswap -f swap
Setting up swapspace version 1, size = 1999996 KiB
no label, UUID=fee9ab21-9efb-47c9-80f4-57e48142dd69
把生成的swap 文件加入到系統中
sudo swapon swap
再次查看 free -m 的結果。
total used free shared buffers cached
Mem: 2012 1971 41 0 572 1156
-/+ buffers/cache: 241 1770
Swap: 2209 0 2209
添加成功。【好像重啟的時候需要重新 sudo swapon swap一下】
[這個擴展我沒試過]
擴展:
如果需要卸載這個 swap 文件,可以進入建立的 swap 文件目錄。執行下列命令。
sudo swapoff swap
如果需要一直保持這個 swap ,可以把它寫入 /etc/fstab 文件。
/swapfile/swapfile none swap defaults 0 0
==================================================================
我遇到的問題如下,並且成功解決。前因:利用動態分區軟件將Ubuntu的分區重新劃分。增加了/ 以及 /home , swap 的容量。重新進入 Ubuntu,swap分區丟失,無法進行休眠等操作。
解決:sudo mkswap /dev/sdaX #X是swap分區的編號(部分電腦可能是 hdaX)
記錄下 UUID
編輯 /etc/fstab,將 swap 段的 UUID 更改為新的UUID,重啟。