Amazon EC2 Ubuntu Linux 預設無 swap 配置,該怎麼新增?

Amazon EC2 中,使用預設設定建立 Ubuntu Linux instance 之後,才發現該 instance 缺少 swap 設定,雖然不見得會碰到問題,但是在許多監控的系統中,都會對於缺少 swap 配置的 Linux instance 產生告警,為了讓自己不要被這些告警干擾,所以還是幫它們建立 swap 空間,讓監控系統不要產生告警的訊息。

要執行下列 swap 空間配置的指令,建議先檢查系統中是否已經存在 swap 空間,檢查的方式也很簡單,只要執行:

$ free -m

只要看到上述指令的輸出中,有出現 Swap: 的資訊,那就不需要再進行任何的配置工作了。

初始配置方式

$ sudo fallocate -l 2G /swapfile
$ sudo dd if=/dev/zero of=/swapfile bs=1024 count=2097152
$ sudo chmod 600 /swapfile
$ sudo mkswap /swapfile
$ sudo swapon /swapfile
$ sudo echo "/swapfile swap swap defaults 0 0" >> /etc/fstab

以上的指令範例中,第二個指令 dd 的 count 參數計算方式,由於是 2GB 所以就是 2 * 1024 * 1024 就可以求得。

後續調整方式

由於進行上述的初始配置之後,有再去調整了 EC2 的規格,記憶體由 1GB 升級至 2GB,所以 swap 空間還要再調整一次,我也把調整的過程寫在下方, dd 的 count 參數計算方式,由於是 4GB 所以就是 4 * 1024 * 1024 這樣求得,另外也要記得去調整 /etc/fstab 中的檔案名稱,利用文字編輯器把 /swapfile 變更為 /swapfile4G ,這樣重新開機的時候才不會碰到麻煩,切記!

$ sudo fallocate -l 4G /swapfile4G
$ sudo dd if=/dev/zero of=/swapfile4G bs=1024 count=4194304
$ sudo chmod 600 /swapfile4G
$ sudo mkswap /swapfile4G
$ sudo swapon /swapfile4G
$ sudo swapoff /swapfile
$ sudo rm /swapfile

參考資料

發佈留言

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料