前言
架設網站或是服務之後,若是發現先前開的VM memory不夠服務使用
但又不想要增加多餘的預算調高VM的memory時
就可以透過swap-虛擬記憶體的功能
將一部分的硬碟空間當成memory來使用
查看當前配置
透過htop查看當前的memory配置
這台的VM memory開8G
Swap預設是關閉的
也可以用free指令查看swap
也可以得知memory以及swap的設定
設定swap
切換成root或是使用sudo執行以下指令1
fallocate -l 4G /swapfile
4G:代表要開多少虛擬記憶體
/swapfile:做為swap使用的檔案存放路徑
此時已經在/底下新增了一個swapfile的檔案
但目前系統還不知道該檔案要做甚麼
需要告知系統透過此檔案啟用swap
依序輸入以下指令1
2
3chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
將檔案權限設成僅root可讀寫
並透過mkswap告知系統將/swapfile檔案供swap使用
最後透過swapon 啟用swap
重新查看配置
設定完成後重新查看目前的配置
htop
free
可以確認swap已正常啟用
我們測試提高VM的記憶體使用量
當我們在使用VM上的服務以至於memory使用量達到一定的程度時
就會開始使用虛擬記憶體
避免發生OOM的情況
將swap設為開機自動掛載
編輯 /etc/fstab
在最底下加入此行1
/swapfile none swap sw 0 0
這樣每次重開機後就會自動掛載該檔案給swap使用囉