[Linux]建立和啟用Swap交換區
阿新 • • 發佈:2019-02-17
如果你的伺服器的總是報告記憶體不足,並且時常因為記憶體不足而引發服務被強制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交換區大小,從第一部開始重新建立即可。