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
在〈Amazon EC2 Ubuntu Linux 預設無 swap 配置,該怎麼新增?〉中有 1 則留言