zoukankan      html  css  js  c++  java
  • Linux性能监控命令系列之 iotop

    大家好!我是Sean!

    上回说到iostat,今天讲一个和它长得很像的命令iotop,功能也是有些类似的,iotop是一个用来监视磁盘I/O使用状况的工具。

    iotop(监视磁盘I/O使用状况的工具)

    iotop命令 是一个用来监视磁盘I/O使用状况的top类工具。iotop具有与top相似的UI,其中包括PID、用户、I/O、进程等相关信息。Linux下的IO统计工具如iostat,nmon等大多数是只能统计到per设备的读写情况,如果你想知道每个进程是如何使用IO的就比较麻烦,使用iotop命令可以很方便的查看。

    iotop使用Python语言编写而成,要求Python2.5(及以上版本)和Linux kernel2.6.20(及以上版本)。iotop提供有源代码及rpm包,可从其官方主页下载。

    CentOS里一条命令即可安装:

    yum install iotop
    

    命令参数

    -o:只显示有io操作的进程
    -b:批量显示,无交互,主要用作记录到文件。
    -n NUM:显示NUM次,主要用于非交互式模式。
    -d SEC:间隔SEC秒显示一次。
    -p PID:监控的进程pid。
    -u USER:监控的进程用户。
    

    iotop常用快捷键

    左右箭头:改变排序方式,默认是按IO排序。
    r:改变排序顺序。
    o:只显示有IO输出的进程。
    p:进程/线程的显示方式的切换。
    a:显示累积使用量
    q:退出。
    

    常用命令

    iotop
    默认显示信息
    
    iotop -t
    增加时间戳列
    
    iotop -d 2 -n 3  
    2s刷新1次,刷新三次信息后结束
    
    iotop -u root 
    仅显示root用户下进程的io信息
    
    iotop -a 
    以累计方式显示信息,数据从iotop命令启动开始做计算
    
    iotop -b > iotop.txt
    非交互模式,可以用重定向连续记录一段时间的信息
    
    iotop -k 
    以kB单位显示读写数据信息
    
    iotop -q 
    列名称只在第一次迭代时打印
    
    iotop -qq 
    列名从不打印
    
    iotop -qqq 
    不会打印I/O摘要
    

    命令详解

    默认显示信息

    iotop
    
    Total DISK READ 
    Total DISK WRITE 
    一方面表示了进程和内核线程之间的总的读写带宽,另一方面也表示内核块设备子系统的。
    Actual DISK READ
    Actual DISK WRITE
    表示在内核块设备子系统和下面硬件(HDD、SSD 等等)对应的实际磁盘 I/O 带宽。
    
    TID				线程号或进程号
    PRIO			线程运行时的I/O优先级
    USER			进程所属用户
    DISK READ		刷新时间间隔内读取数据量
    DISK WRITE		刷新时间间隔内写入数据量
    SWAPIN			每个进程的交换使用率
    IO				每个进程的 I/O 利用率,包含磁盘和交换
    COMMAND			进程名字
    

    增加时间戳列

    iotop -t

    以kB单位显示读写数据信息

    iotop -k

    数据查看技巧

    其实iotop命令显示的信息非常明显了,一目了然,我平时主要是用来具体定位到是哪个进程一直占用磁盘IO,上次讲的iostat只能初步看出系统的磁盘IO是否达到瓶颈,但是也不一定到了瓶颈,而是某些进程搞怪导致的,这是可以用iotop连续观察进程级别的IO情况,就可以很快找到哪个家伙在搞怪了。

    思维导图总结

    今天的分享就到这里啦!感谢各位的阅读!码字不易,如果本文对你有帮助的话,帮忙点个赞吧~哈哈。

    性能监控命令系列结束后会将思维导图分享出来,欢迎关注公众号“程序员Sean”。

  • 相关阅读:
    帮朋友写的两篇文章
    与疯姐的对话
    实现C(i,j)=A(m,n,w)+B(m,n)
    误差处理相关
    http://blog.sina.com.cn/s/blog_4aae007d0100inxi.html
    全局变量和局部变量
    Yeelink:将复杂的传感器以极简的方式组到同一个网络内
    基站分布:GDOP
    C++学习路线图
    Matlab中三点确定质心
  • 原文地址:https://www.cnblogs.com/ws007/p/13941569.html
Copyright © 2011-2022 走看看