利用iotop查看到底是哪个进程耗io

iotop -oP 

   -h, --help 显示帮助然后退出

       -o, --only 只显示正在产生I/O的进程或线程。除了传参,可以在运行过程中按o生效。

       -b, --batch 非交互模式,一般用来记录日志

       -n NUM, --iter=NUM 设置监测的次数,默认无限。在非交互模式下很有用

       -d SEC, --delay=SEC 设置每次监测的间隔,默认1秒,接受非整形数据例如1.1

       -p PID, --pid=PID 指定监测的进程/线程

       -u USER, --user=USER 指定监测某个用户产生的I/O

       -P, --processes 仅显示进程,默认iotop显示所有线程

       -a, --accumulated 显示累积的I/O,而不是带宽

       -k, --kilobytes 使用kB单位,而不是对人友好的单位。在非交互模式下,脚本编程有用。

       -t, --time 加上时间戳,非交互非模式。

       -q, --quiet 禁止头几行,非交互模式。有三种指定方式。

              -q     只在第一次监测时显示列名

              -qq    永远不显示列名。

              -qqq   永远不显示I/O汇总。

     

今天遇到一个奇怪的情况

xx斗地主io很高,每次都是持续1分钟,根据经验有可能是redis回写导致,结果确认的确如此,但是用iotop -oP却看不到任何redis的影子。后面改为统计累计的io,用如下命令终于看到

iotop -oPa     

Total DISK READ: 458.27 K/s | Total DISK WRITE: 12.65 M/s

  PID  PRIO  USER     DISK READ DISK WRITE>  SWAPIN      IO    COMMAND  

 6212 be/4 root         40.00 K    619.76 M 99.99 % 99.99 % redis-server xxx

 6213 be/4 root          0.00 B    436.88 M -33275.58 % 64.67 % xxx


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。