博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux cpu内存利用率获取
阅读量:6678 次
发布时间:2019-06-25

本文共 939 字,大约阅读时间需要 3 分钟。

有了这么好的工具,我们还需要自己造轮子么? 两种情况,如果有复杂的监控需求,而且愿意花时间学习,我们可以使用nmon;但如果监控需求特殊比如说还要监控单个进程的情况,这时候就需要自己动手实现了。自己动手实现的好处就是灵活。。

 

性能监控包含哪些内容呢?对于服务器整体性能,应该涵盖整体的cpu、内存、磁盘io、网络流量;对于单进程性能,同样有cpu、内存,这里需要注意的一个指标就是单进程的句柄数,关于句柄的说明,具体可以去谷歌;很多程序存在内存泄漏的问题就是由于句柄数不断上涨导致的

下面我们就来介绍具体的监控怎么实现

 

  • 服务器整体cpu监控

 

cpu指标监控在中有很多实现方式,比如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指标

单进程监控详见系列二吧。。

posted on
2017-03-24 10:37 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/ruiy/p/6610191.html

你可能感兴趣的文章
应用程序框架实战十三:DDD分层架构之我见
查看>>
finally块的问题(finally block does not complete normally) (转)
查看>>
转 【O2O案例】汽车后市场垂直化电子商务:平业模式解析
查看>>
OpenCV Show Image cvShowImage() 使用方法
查看>>
云岸数字
查看>>
wordpress在Linux nginx下权限设置
查看>>
〖Android〗屏幕触屏事件录制与回放
查看>>
【LeetCode】Missing Ranges
查看>>
用以替换系统NSLog的YouXianMingLog
查看>>
【百度地图API】批量地址解析与批量反地址解析(带商圈数据)
查看>>
华为P6-C00电信版,刷机总是失败? FAIL
查看>>
mysql查询结果输出到文件
查看>>
Android URI简单介绍
查看>>
13. 星际争霸之php设计模式--正面模式
查看>>
WP8.1学习系列(第三章)——磁贴和锁屏通知
查看>>
vijos-1003等价表达式
查看>>
Matlab画图-非常具体,非常全面
查看>>
Java线程(十):CAS
查看>>
display:inline、block、inline-block的区别
查看>>
Yii Framework2.0开发教程(10)配合mysql数据库实现用户登录
查看>>