监控内存使用量:

思路:使用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} ];thenmkdir -p ${DATA_PATH}
fi
#每天第一次 统计创建统计文件并输入第一次的值,接下来的每一次比较文件中存在的值,如果大于已用内存的百分比则输出替换文件内容,保留最大的内存使用量数据
if [ ! -f ${DATA_PATH}/${FILE} ];thentouch ${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}elseif [ ${USED} -gt `cat ${DATA_PATH}/${FILE}|grep 内存实际使用量|awk '{print $2}'` ];thenecho -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

效果图

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

转载于:https://blog.51cto.com/qchanblog/1826336

linux 监控系统资源-内存相关推荐

  1. 监控linux内存,linux 监控系统资源-内存

    监控内存使用量: 思路:使用free -m 提取相关数据,算出使用内存量输入到文件,并且每一次计算都与当前文件中的数据对比,大于文件中的数据则替换.保留当天最大内存使用量,每天发送邮件(可以单独写个发 ...

  2. linux 监控java内存_Linux下实用的JAVA内存泄露监控命令及工具

    一.Linux 命令 1.jstack (linux下特有) 可以观察到jvm中当前所有线程的运行情况和线程当前状态 jstack 2083 输出内容如下: 2.jmap (linux下特有,也是很常 ...

  3. linux监控cpu内存磁盘网络使用率,linux服务器性能——CPU、内存、流量、磁盘使用率的监控...

    4. 什么是AJAX 术语Ajax用来描述一组技术,它使浏览器可以为用户提供更为自然的浏览体验.在Ajax之前,Web站点强制用户进入提交/等待/重新显示范例,用户的动作总是与服务器的"思考 ...

  4. linux监控内存的工具,Linux 三个强大的系统资源监控工具

    1.dstat dstat是取代vmstat,iostat和ifstat的一个强大的多功能系统资源统计生成工具. dstat语法格式:dstat [-afv] [options..] [delay [ ...

  5. Linux安装rpc监控系统资源

    Linux安装rpc监控系统资源 1.rpc服务需rsh的支持,一般情况下rsh已安装.rpm -qa rsh查看. 2.右键另存为http://heanet.dl.sourceforge.net/s ...

  6. Linux虚拟内存介绍,以及malloc_stats和malloc_info 监控查看内存情况

    Linux虚拟内存介绍,以及malloc_stats和malloc_info 监控查看内存情况 zzhongcy 2019-04-09 10:33:08 3106 已收藏 3 分类专栏: Linux ...

  7. linux平台关于内存,cpu,连接数,流量监控(一)

    linux平台关于内存,cpu,连接数,流量监控(一) 本文为监控linux平台机器及进程cpu,内存,连接数,流量监控程序,其他平台请自适应. //.h/** Copyright (c/c++) & ...

  8. linux 监控网络IO、磁盘、CPU、内存

    linux 监控网络IO.磁盘.CPU.内存 CPU:vmstat ,sar –u,top 磁盘IO:iostat –xd,sar –d,top 网络IO:iftop -n,ifstat,dstat ...

  9. AIX和LINUX主机 CPU 内存 磁盘使用率监控

    AIX监控 磁盘使用率监控 df -g|grep -v Filesystem|grep -v proc|awk ' gsub(/%/,"",$4) {print $7 " ...

  10. Shell 脚本来监控 Linux 系统的内存

    一.安装Linux下面的一个邮件客户端Msmtp软件(类似于一个Foxmail的工具) 1.下载安装:http://downloads.sourceforge.net - 206451&big ...

最新文章

  1. PPF(Point Pair Features)原理及实战技巧
  2. 联想笔记本电脑的F1至F12键盘问题。怎么设置才能不按FN就使用F1
  3. 关于数据预处理的7个重要知识点,全在这儿了!
  4. spring boot实现WebMvcConfigurer接口定制SpringMvc配置
  5. mysql 带宽测试工具_MySQL自带的性能压力测试工具mysqlslap详解
  6. 从「猜画小歌」,谈企业的「数据困惑」该何去何从?
  7. weblogic宕机crash问题解决分享
  8. 一个小小的flash
  9. 把计算机怎么连接手机的网络助手在哪里,怎么将手机网络通过USB共享给电脑
  10. JRebel激活教程
  11. matlab 求一元二次方程的根,如何用Matlab求一元二次方程式解的个数以及解
  12. 供应链拼图:拼合未来的全球经济
  13. linux shell完整程序,Linux Shell程序设计
  14. 进击的人工智能:从产品角度,深度解析「对话机器人」
  15. 【JAVAEE基础学习(16)】--简述ElasticSearch
  16. ORACLE几个关于工作日数的函数(原创)
  17. oracle dbms_metadata,DBMS_METADATA报错解决方法
  18. WMS系统学习之ModernWMS
  19. 2016.05.04,英语,《Vocabulary Builder》Unit 22
  20. Unity2019,2020安装教程

热门文章

  1. 单位转换及格式化显示
  2. sharepoint 在Visual Studio设置其他页面的加载标签
  3. 文档中某些特定数据查询
  4. c# 开发项目的过程
  5. CSS3 filter属性学习
  6. 从USB驱动器运行Windows 10
  7. 如何调整iMindMap打印设置
  8. ORACLE PATCH 版本的查询 PL/SQL
  9. Nginx 进程间通信
  10. Hibernate应用中Java对象的状态