linux下性能监控shell脚本实现系列一(服务器整体性能监控)
来源:互联网 发布:淘宝微淘首页 编辑:程序博客网 时间:2024/05/09 12:49
在实现监控脚本前,我们先了解下一些已经成型的监控程序,比如大名鼎鼎的nmon。
nmon官网 http://nmon.sourceforge.net/pmwiki.php
nmon使用简单说明 http://www.ibm.com/developerworks/cn/aix/library/nmon_analyser/
nmon实现了两部分功能,第一部分功能为cpu、内存、io、、、、等等的监控,第二部分,nmon提供了对监控结果的图形转化功能,如下图
有了这么好的工具,我们还需要自己造轮子么? 两种情况,如果有复杂的监控需求,而且愿意花时间学习,我们可以使用nmon;但如果监控需求特殊比如说还要监控单个进程的情况,这时候就需要自己动手实现了。自己动手实现的好处就是灵活。。
性能监控包含哪些内容呢?对于服务器整体性能,应该涵盖整体的cpu、内存、磁盘io、网络流量;对于单进程性能,同样有cpu、内存,这里需要注意的一个指标就是单进程的句柄数,关于句柄的说明,具体可以去谷歌;很多程序存在内存泄漏的问题就是由于句柄数不断上涨导致的
下面我们就来介绍具体的监控怎么实现
- 服务器整体cpu监控
cpu指标监控在linux中有很多实现方式,比如mpstat、top、包括vmstat中也有cpu的指标,但是哪个指标用来监控实时cpu利用率最合适呢?
答案是top,为什么呢,因为mpstat监测的是一段时间内的平均值,如果需要监测cpu均值的,可以采用这个指标,如果是瞬时值,top最合适
如何在top中截取呢,答案如下
cpuuse=`top -b -n2 -p 1 | fgrep "Cpu(s)" | tail -1 | awk -F'id,' -v prefix="$prefix" '{ split($1, vs, ","); v=vs[length(vs)]; sub("%", "", v); printf "%s%.1f%%\n", prefix, 100 - v }'`
为什么这么复杂呢,因为直接top|grep的话,可以发现每次截取出来的都一样,是有问题的,上面是最终的解决方案
- 服务器整体内存监控
内存监控怎么做呢?很多人会说 free -m,怎么能够换算成百分比,而且去除cache的影响呢
mem=`free -m|grep Mem|awk '{print ($3-$6-$7)/$2}'`
- 服务器整体磁盘io监控
磁盘一般用iostat,笔者监控磁盘利用率一般使用iostat -x中的util指标
单进程监控详见系列二吧。。。
- linux下性能监控shell脚本实现系列一(服务器整体性能监控)
- linux下性能监控shell脚本实现系列一(服务器整体性能监控)
- 服务器性能监控脚本
- linux 性能测试监控shell脚本
- shell监控主机性能脚本
- Windows服务器性能监控脚本(powershell)
- Linux中系统整体性能监控工具
- Linux系统整体性能监控工具详解
- Linux系统整体性能监控工具详解
- Linux系统整体性能监控工具详解
- Linux系统整体性能监控工具详解
- Java服务器性能监控(一) Metrics
- 几个常用的Linux系统性能监控shell脚本
- Linux服务器性能监控命令
- nmon监控Linux服务器性能
- Centos6下nmon 脚本监控服务器系统性能
- linux实战(十一)----shell监控服务器性能---综合运用
- 性能测试系列1-Linux 性能监控
- Caffe BLAS Reference 对函数blas函数的说明
- 写代码如何快速定格光标到代码行的行头和行尾
- C#格式化时间,货币
- UIImage的几点建议
- android申请权限列表
- linux下性能监控shell脚本实现系列一(服务器整体性能监控)
- 生产者-消费者问题变形
- 父子进程共享的资源
- VC只用GDI实现位图展现简单特效
- java 操作数据库clob类型大字段
- 生产者与消费者问题
- 开源ext2read代码走读之-ext2文件系统中的超级块及对应代码
- 致我们终将忘记的算法(数组也疯狂)
- android模拟硬键盘操作