HP Unix 主机内存监控告警shell脚本
memory_monitor.sh 脚本内容如下:
#告警阀值30G,少于则告警,频率 30分钟 检查一次
normal=30
while :
do
#取得总内存
allmem=`/usr/contrib/bin/machinfo|grep Memory|grep MB|awk '{print $2}'`;
#取得内存分页数
freemk=`vmstat 5 2 | tail -n 1 | awk '{print $5}'`;
#每一页是4K ,所以乘以4
freemm=`expr $freemk \* 4`;
#转换为 G
freemem=`echo $freemm/1024/1024|bc`;
echo `date +%Y%m%d%H%M`" Memory:" $allmem"M" all $freemem"G" avail;
if [ $freemem -lt $normal ]
then
echo "当前内存"$freemem"G,少于"$normal"G" #打印告警信息 这里可以插入短信库,发送至手机
fi
echo "sleep 300 seconds"
sleep 1800 #30分钟告警一次
done