1)使用场景:

iotop是一个用来监视磁盘I/O使用状况的 top 类工具,可监测到哪一个程序使用的磁盘IO的信息。

2)各个单词细节含义:

Total DISK READTotal DISK WRITE 的值一方面表示了进程和内核线程之间的总的读写带宽,另一方面也表示内核块设备子系统的。
Actual DISK READActual DISK WRITE 的值表示在内核块设备子系统和下面硬件(HDD、SSD 等等)对应的实际磁盘 I/O 带宽。
IO:它显示每个进程的 I/O 利用率,包含磁盘和交换。
SWAPIN: 它只显示每个进程的交换使用率。

3)命令使用:

各个参数说明:

-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汇总。
  
交互按键:
  和top命令类似,iotop也支持以下几个交互按键。
  left和right方向键:改变排序。  
  r:反向排序。
  o:切换至选项–only。
  p:切换至–processes选项。
  a:切换至–accumulated选项。
  q:退出。
  i:改变线程的优先级。

4)举例:

1.iotop – 直接获取磁盘i/o 活动

iotop 命令能不能只看两个pid的 iotop命令详解_运维

2.iotop -o (或者:iotop --only) – 检查某些正在做I/O的进程。(仅显示正在读写的进程服务,会实时变化。)

iotop 命令能不能只看两个pid的 iotop命令详解_linux_02

3.iotop -d 2 -n 5 – 间隔2秒,总共输出5次

4.iotop -botq -p xxx(进程号) – 非交互式下,输出pid为xxx的进程信息

iotop 命令能不能只看两个pid的 iotop命令详解_linux_03

5.iotop -botq -n 5 -d 2s – 非交互式,监控某时间段的io信息,输出5次,每次间隔2秒

iotop 命令能不能只看两个pid的 iotop命令详解_linux_04