说明

  iotop命令是一款实时监控磁盘I/O的工具,必须要root用户才能运行。使用iotop可以和方便的查看每个进程使用磁盘I/O的情况。如果系统中没有iotop命令,就需要额外安装,命令如下:

[root@localhost ~]# yum install iotop
格式

  iotop [option]

常用参数
  • -o:显示正在使用I/O的进程或线程,默认显示所有
  • -d:设置显示时间间隔秒数
  • -p:只显示指定的PID的信息
  • -u:只显示指定用户的信息
  • -P:只显示进程,一般是显示所有的线程
  • -a:显示从iotop启动后每个线程完成了的I/O总数
  • -k:设置显示但是为KB
  • -t:在每一行前面加一个当前时间
示例

1、不接收任何参数

[root@localhost ~]# iotop

Total DISK READ :    0.00 B/s | Total DISK WRITE :       0.00 B/s
Actual DISK READ:    0.00 B/s | Actual DISK WRITE:       0.00 B/s
   TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND                                                                                                                       
     1 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % systemd --switched-root --system --deserialize 21
     2 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kthreadd]
     3 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [ksoftirqd/0]
...

结果具体说明:

  • Total DISK READ:总的磁盘读取速度
  • Total DISK WRITE:总的磁盘写入的速度
  • Actual DISK READ:实际磁盘读的速度
  • Actual DISK WRITE:实际磁盘写的速度
  • TID:进程pid值
  • PRIO:优先级
  • USER:用户
  • DISK READ:磁盘读取速度
  • DISK WRITE:磁盘写入速度
  • SWAPIN:从swap分区读取数据占用的百分比
  • IO>:I/O占用的百分比
  • COMMAND:消耗I/O的进程名

2、显示指定进程号的磁盘使用情况

[root@localhost ~]# iotop -p 2147 -d 10 #进程号为2147 间隔时间10s

Total DISK READ :    0.00 B/s | Total DISK WRITE :       0.00 B/s
Actual DISK READ:    0.00 B/s | Actual DISK WRITE:       0.00 B/s
   TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND                                                                                                                       
  2147 be/4 mysql    0.00 B/s    0.00 B/s  0.00 %  0.00 % mysqld --basedir=/apps/mysql --datadir=/apps/mysql/data --plugin~domain.err --pid-file=/apps/mysql/data/localhost.localdomain.pid