如果你的伺服器的總是報告記憶體不足,並且時常因為記憶體不足而引發服務被強制kill的話,在不增加物理記憶體的情況下,啟用swap交換區作為虛擬記憶體是一個不錯的選擇,如果是SSD硬碟,正常讀寫速度都在300MB/s以上,啟用swap後性能提高了不少,特別是在處理消耗大記憶體的腳本方面。 ...
如果你的伺服器的總是報告記憶體不足,並且時常因為記憶體不足而引發服務被強制kill的話,在不增加物理記憶體的情況下,啟用swap交換區作為虛擬記憶體是一個不錯的選擇,如果是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交換區大小,從第一部開始重新創建即可。