記憶體吃緊的 Amazon EC2 T1.Micro

Amazon 在 instance 類型上,真的有點討厭XD

各個應用等級的 instance 定義很明確,不夠就升級的辦法也很彈性,大概就是價錢不討喜而已了 Orz

T1.Micro 的 instance 個人覺得計算能力其實不差,就是限制住 RAM 來把服務縮減而已

要服務多個客戶就要下一番苦心去調整服務大小與資源分配的問題。

平面視覺設計像是官網類型的案子是不會有什麼太大的問題,但是碰到有與瀏覽者互動或是與社群接軌的高流量型網站就苦了

服務一開就是 200 MB 的記憶體起跳,對於才 600 MB 的 T1 再加上其他服務,實在有點頭暈~

所以就用計算能力換記憶體吧。

定時監控記憶體使用率 + CPU使用率

不過後來發現CPU使用率會飆高都是因為記憶體用完,而且又沒配 Swap 所以炸了

記憶體: 怪我囉?

寫個 Shell Script 每分鐘看一次記憶體有沒有超過閥值,有就做清空的動作

#!/bin/bash
now="$(date +"%r")"
if [ `free -m | grep Mem | tail -n 1 |awk '{print $3}'` -gt 570 ]; then
sudo sysctl -w vm.drop_caches=3>/dev/null;
echo "clean in $now">>/path/to/clean_log.txt;
fi

是說清空也不能太暴力,拿標準的做法就好,570是自己訂的,而且是真的有機會(常常)衝到這...

以下補充一些查到的有用資料:

  1. Linux系統中的Load averages的三個數值代表什麼意思?

    是前5分鐘、前15分鐘、前30分鐘的系統負載情況 -> 參考

  2. 查看系統使用率的幾個方法 -> 參考

  3. 查看記憶體與應用程式使用情況的 Script (ps_mem.py) -> 參考

Facebook 外掛功能


Share:

作者: Chun

資訊愛好人士。主張「人人都該為了偷懶而進步」。期許自己成為斜槓到變進度條 100% 的年輕人。[//////////____30%_________]

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *