• dstat用法;利用awk求dstat所有列每列的和;linux系统监控


    1. 安装:yum install -y dstat
    2. dstat命令是一个用来替换vmstatiostatnetstatnfsstatifstat这些命令的工具,是一个全能系统信息统计工具。与sysstat相比,dstat拥有一个彩色的界面,在手动观察性能状况时,数据比较显眼容易观察;而且dstat支持即时刷新,譬如输入dstat 3即每三秒收集一次,但最新的数据都会每秒刷新显示。和sysstat相同的是,dstat也可以收集指定的性能资源,譬如dstat -c即显示CPU的使用情况。
    3. dstat使用python写的,原理是读取linux本身的资源文件,计算资源使用情况,源码:https://github.com/dagwieers/dstat
    4. dstat只能统计每秒的均值,你如果需要统计n秒的均值,那只能自己计算了,方法dstat -n 1 5会显示6行数据,去掉第一行数据,另外5行数据相加求均值,就是5秒的均值,但是最坑的是,数值后面的单位会变。所以对于有单位的,就不能使用这种方法计算n秒的均值。
    5. 使用awk求和:awk '{for(n=1;n<=NF;n++)t[n]+=$n}END{for(n=1;n<=NF;n++)printf t[n]" ";print" "}'

    效果:从图可以看出,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

  • 相关阅读:
    机器学习中规则化和模型选择知识
    关于arcengine权限的设置
    arcengine 实现调用arctoolbox中的dissolove
    基于手机令牌的屏保软件设计与实现
    RelativeLayout中最底的View一个View.layout_marginBottom无效
    Citrus Engine简单Demo
    Java菜鸟学习笔记(23)--继承篇(二):继承与组合
    uva 579 ClockHands 几何初接触 求时针与分针的夹角
    OpenCV中GPU函数
    html监听,键盘事件
  • 原文地址:https://www.cnblogs.com/shengulong/p/8343279.html
Copyright © 2020-2023  润新知