如果你的服務器的總是報告內存不足,並且時常因為內存不足而引發服務被強制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交換區大小,從第一部開始重新創建即可。
