日常的维护中,由于磁盘IO导致的问题,经常发生。那么我们如何才能找到是那个进程引起的问题呢?这次分享大家两个命令,是我在日常中经常用到的命令。
1、iotop - simple top-like I/O monitor(只有root用户才可以使用)iotop -oP
实时监控占用磁盘IO较高的进程(实时刷新)
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
PID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND
5995 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.03 % [kworker/0:3]
上面的命令是实时查看,如果它是偶然发生。我想监控到磁盘的数据,太难了。应该怎么办呢?不用太着急?第二个命令完美解决。
2、pidstat - Report statistics for Linux tasks(最好是root权限使用)-d Report I/O statistics (kernels 2.6.20 and later only). The following values may be displayed:
pidstat -d 1
Linux 3.10.0-514.el7.x86_64 (gs01) 2020年12月14日 _x86_64_ (1 CPU)
15时30分17秒 UID PID kB_rd/s kB_wr/s kB_ccwr/s Command
15时30分18秒 1001 6233 0.00 212228.00 0.00 dd
以上两个命令,有好多可以监控。
我只是发一些常用的。
如果大家感兴趣,可以man看一下