1. 程式人生 > >[Linux]建立和啟用Swap交換區

[Linux]建立和啟用Swap交換區

如果你的伺服器的總是報告記憶體不足,並且時常因為記憶體不足而引發服務被強制kill的話,在不增加實體記憶體的情況下,啟用swap交換區作為虛擬記憶體是一個不錯的選擇,我購買的DigitalOcean VPS 512M記憶體基本不夠用的,好在VPS的母雞使用的SSD,正常讀寫速度都在300MB/s以上,啟用swap後效能提高了不少,特別是在處理消耗大記憶體的指令碼方面

建立交換區原則:
1.建立的swap交換區大小應該大於實際實體記憶體的容量大小,但是不要過大,以免造成硬碟空間浪費。
2.如果記憶體IO請求頻繁,而單一swap交換區IO佇列等待時間過長的話,可以多建立幾個swap交換區。
3.原則上優先在IO速度最快的裝置上建立。

建立步驟:
1.建立swap交換區硬碟儲存用的空白檔案。

1
2
#建立一個1個G的SWAP交換區空白檔案
dd if=/dev/zero of=/swap bs=1M count=1024

通常建立實體記憶體2~2.5倍大小的檔案作為交換區。

2.使用mkswap格式化檔案為swap檔案系統

1
2
mkswap -f /swap
#-f 使用檔案作為swap交換區

3.啟用剛才建立的Swap檔案

1
swapon /swap

4.如果有必要可以設定開機自動啟用swap檔案交換區,修改/etc/fstab,增加一行

1
/swap swap swap defaults 0 0 #啟動即啟用swap

5.如果不需要啟用swap或需要調整swap大小,可以使用swapoff命令關閉swap。

1
swapoff /swap

關閉swap後刪除對應的swap檔案即可刪除swap交換區,如需要調整swap交換區大小,從第一部開始重新建立即可。