码迷,mamicode.com
首页 > 系统相关 > 详细

linux 监控系统资源-内存

时间:2016-07-14 15:50:45      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:监控系统   资源   内存监控shell   

监控内存使用量:

思路:使用free -m 提取相关数据,算出使用内存量输入到文件,并且每一次计算都与当前文件中的数据对比,大于文件中的数据则替换。保留当天最大内存使用量,每天发送邮件(可以单独写个发邮件的脚本)。脚本可以写到计划任务里多长时间执行一次。也可以在脚本中加上wheel循环后台启动

技术分享

Mem行的total:系统总内存

-/+ buffers/cache行的used:实际使用内存

-/+ buffers/cache行的free:程序实际可调用内存




#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/java/jdk1.7.0_45/bin:/usr/java/jdk1.7.0_45/jre/bin:/usr/local/CCDTSoft/mvn_maven/bin:/root/bin
DAYS=`date +"%Y%m%d"`free
DATE=`date +"%Y-%m-%d--%H:%M:%S"`
DATA_PATH=/usr/local/CCDTSoft/data/BullDog/COUNT/${DAYS}
FILE=`hostname`_Maxfree.txt
#总的内存
TOTAL=`free -m|grep Mem|awk ‘{print $2}‘`
#free -m 第二行的USER,实际已用内存
USED=`free -m|grep buffers/cache|awk ‘{print $3}‘`
#free -m 第二行的free,程序可调用实际内存
FREE=`free -m|grep buffers/cache|awk ‘{print $4}‘`
#百分比USED/TOTAL(实际已用内存百分比)
USAGE_B=`awk ‘BEGIN{printf "%.2f%\n",(‘$USED‘/‘$TOTAL‘)*100}‘`
if [ ! -d ${DATA_PATH} ];
    then
        mkdir -p ${DATA_PATH}
fi
#每天第一次 统计创建统计文件并输入第一次的值,接下来的每一次比较文件中存在的值,如果大于已用内存的百分比则输出替换文件内容,保留最大的内存使用量数据
if [ ! -f ${DATA_PATH}/${FILE} ];
        then
            touch ${DATA_PATH}/${FILE}
                        echo -e "${FILE}\n当天最大内存使用情况:${DATE}\n总内存(m): ${TOTAL}\n内存实际使用量(m): ${USED}\n已用内存百分比(m): ${USAGE_B}\n---\n" > ${DATA_PATH}/${FILE}
                #echo "内存实际使用用量(m): ${USED}" >> ${DATA_PATH}/${FILE}
                #echo "已用内存百分比(m): ${USAGE_B}" >> ${DATA_PATH}/${FILE}
        else
            if [ ${USED} -gt `cat ${DATA_PATH}/${FILE}|grep 内存实际使用量|awk ‘{print $2}‘` ];
                then
                    echo -e "${FILE}\n当天最大内存使用情况:${DATE}\n总内存(m): ${TOTAL}\n内存实际使用量(m): ${USED}\n已用内存百分比(m): ${USAGE_B}\n---\n" > ${DATA_PATH}/${FILE}
            fi
fi
#mail -s "${DAYS}-主机nginxLoad-tomcat内存使用情况" @qq.com < ${DATA_PATH}/${FILE}
#echo USAGE_B=$USAGE_B

效果图

技术分享

有什么建议和需要改正的地方可以留言,谢谢

本文出自 “分享是一种美德” 博客,请务必保留此出处http://passers.blog.51cto.com/9686614/1826336

linux 监控系统资源-内存

标签:监控系统   资源   内存监控shell   

原文地址:http://passers.blog.51cto.com/9686614/1826336

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!