dstat用法;利用awk求dstat所有列每列的和;linux系统监控
2024-09-01 15:34:53
- 安装:yum install -y dstat
- dstat命令是一个用来替换vmstat、iostat、netstat、nfsstat和ifstat这些命令的工具,是一个全能系统信息统计工具。与sysstat相比,dstat拥有一个彩色的界面,在手动观察性能状况时,数据比较显眼容易观察;而且dstat支持即时刷新,譬如输入
dstat 3
即每三秒收集一次,但最新的数据都会每秒刷新显示。和sysstat相同的是,dstat也可以收集指定的性能资源,譬如dstat -c
即显示CPU的使用情况。 - dstat使用python写的,原理是读取linux本身的资源文件,计算资源使用情况,源码:https://github.com/dagwieers/dstat
- dstat只能统计每秒的均值,你如果需要统计n秒的均值,那只能自己计算了,方法dstat -n 1 5会显示6行数据,去掉第一行数据,另外5行数据相加求均值,就是5秒的均值,但是最坑的是,数值后面的单位会变。所以对于有单位的,就不能使用这种方法计算n秒的均值。
- 使用awk求和:awk '{for(n=1;n<=NF;n++)t[n]+=$n}END{for(n=1;n<=NF;n++)printf t[n]" ";print"\n"}'
效果:从图可以看出,net网络in/out、dsk硬盘rw输出的单位不是固定的。这对于脚本处理增添了很多麻烦
关于问题:
“如果有200毫秒的CPU瞬时高峰,会被抓住么?”
“我再加上这个监控项,或者我让采样间隔再密一点,会影响性能么”
请查看参考3
dstat可以扩展,可以使用插件,可以自己开发插件
其中最后两个参数表示,每隔 delay 秒显示一行,总计 count 行,默认值是 1s 和空 (无限)。如果 delay 大于 1 ,默认该行还是每隔 1s 更新一次,当超过 delay 秒后,换行。
需要注意的是,当 delay > 1 时,每秒的更新值是显示的之前统计的均值,如 delay=10 ,则会显示 1 秒的均值,2 秒的均值,…,也就是最终结果仍然是秒级的均值。
如果同时设置了 --noupdate ,则确实是每隔 delay 秒更新一次,而不会每秒更新一次。
参考:
1、http://man.linuxde.net/dstat
2、https://jin-yang.github.io/post/details-about-dstat.html
3、http://jackyrong.iteye.com/blog/2314909
最新文章
- [数据结构]——堆(Heap)、堆排序和TopK
- Electron 不完全快速手册
- Android okHttp网络请求之Retrofit+Okhttp+RxJava组合
- Zookeeper启动过程
- codeforces 613D:Kingdom and its Cities
- fflush函数的深入理解
- 一致性hash应用到redis
- Win7远程登录Ubuntu14.04
- java基础(死循环退出选项)
- PHPCMS v9.6.0 任意文件上传漏洞分析
- 61.H5---利用canvas+原生js进行鼠标跟随绘图
- (原)MobileNetV1
- 编译错误 ld: cannot find -lz
- ubuntu Sublime Text 2编辑器安装
- 转 Spring Boot之No session repository could be auto-configured, check your configuration问题解决
- 配置免SSH
- html2canvas - 实现网页截图(+下载截图) 功能
- 强连通分量【k 算法、t 算法】
- 使用JDK自带的JAXB进行类和xml的互转
- javascript常用验证大全