首页 > 代码库 > 磁盘I/O高居不下,通过什么来查看占用I/O的进程?

磁盘I/O高居不下,通过什么来查看占用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包

yum install iotop -y 即可安装


 命令选项

-o:只显示有io操作的进程

-b:批量显示,无交互,主要用作记录到文件。 

-n NUM:显示NUM次,主要用于非交互式模式。 

-d SEC:间隔SEC秒显示一次。 

-p PID:监控的进程pid。

-u USER:监控的进程用户。


 范例

# iotop -o

Total DISK READ: 0.00 B/s | Total DISK WRITE: 195.81 M/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND                                                                
64250 be/4 root        0.00 B/s    8.97 M/s  0.00 % 99.99 % [flush-8:0]
64267 be/4 root        0.00 B/s  197.79 M/s  0.00 % 87.11 % dd if=/dev/zero of=/tmp/1G bs=1M count=3000
  411 be/3 root        0.00 B/s   35.60 K/s  0.00 % 63.68 % [jbd2/sda3-8]

#iotop 会列出所有进程按照IO占用的从大到小排序。

 可以通过命令选项交互式切换显示方式

#iotop -o 更人性化一些,只列出占用IO最高的,并且用占用情况的。


本文出自 “活着” 博客,转载请与作者联系!

磁盘I/O高居不下,通过什么来查看占用I/O的进程?