iotop命令是一个用来监视磁盘I/O使用状况的top类工具。iotop具有与top相似的UI,其中包括PID、用户、I/O、进程等相关信息。Linux下的IO统计工具如iostat,nmon等大多数是只能统计到per设备的读写情况,如果你想知道每个进程是如何使用IO的就比较麻烦,使用iotop命令可以很方便的查看。
安装完成后,可以先看下iotop帮助信息:iotop --help
-o, --only只显示正在产生I/O的进程或线程。除了传参,可以在运行过程中按o生效。
-n NUM, --iter=NUM设置监测的次数,默认无限。在非交互模式下很有用。
-d SEC, --delay=SEC设置每次监测的间隔,默认1秒,接受非整形数据例如1.1。
-u USER, --user=USER指定监测某个用户产生的I/O。
-P, --processes仅显示进程,默认iotop显示所有线程。
-a, --accumulated显示累积的I/O,而不是带宽。
-k, --kilobytes使用kB单位,而不是对人友好的单位。在非交互模式下,脚本编程有用。
-q, --quiet 禁止头几行,非交互模式。有三种指定方式。
交互按键:和top命令类似,iotop也支持以下几个交互按键。
非交互式,输出5次,间隔2秒,输出到屏幕,也可输出到日志文本,用于监控某时间段的io信息:
非交互式,输出pid为16298的进程信息:iotop -botq -p 16298