WFU WFU

2014年5月15日 星期四

Linux剩餘記憶體管理監控

最近有朋友提出一個需求,問說是否可以寫一支Script來監控Ubuntu的記憶體狀況,可以在記憶空間不足的時候來做一個通報的動作, 於是我就試著寫寫看,就寫出以下這支小程式,在記憶體空間不足除了可以通報外,還可以自己釋放記憶體空間,但是由於自行釋放記憶體空間需要root權限,所以請記得使用root權限執行這個Shell Script,單位都是以MB來計算的。

Sample Code

#!/bin/sh
MEMSPACE_FLAG=0 #剩餘記憶體空間參數
MEMMINIUM_FLAG=300 #釋放記憶體空間臨界值參數

while true
do
    MEMSPACE_FLAG=`free -m |grep Mem: |awk '{print $4}'` #取得剩餘記憶體
    if [ $MEMSPACE_FLAG -lt $MEMMINIUM_FLAG ]; then
        echo "insufficient memory space $MEMSPACE_FLAGM MB"
        echo 3 > /proc/sys/vm/drop_caches #清空釋放記憶體
    else
        echo "enough memory space $MEMSPACE_FLAG MB"
    fi
    sleep 5 #每五秒偵測一次
done 
Related Posts Plugin for WordPress, Blogger...