iotop命令是一个用来监视磁盘I/O使用状况的top类工具。iotop具有与top相似的UI,其中包括PID、用户、I/O、进程等相关信息。Linux下的IO统计工具如iostat,nmon等大多数是只能统计到per设备的读写情况,如果你想知道每个进程是如何使用IO的就比较麻烦,使用iotop命令可以很方便的查看。
与iostat工具比较,iostat是系统级别的IO监控,而iotop是进程级别IO监控。
iotop工具操作系统里面不是自带的,需要单独进行安装
apt-get install iotop #ubuntu安装 yum install iotop #centos安装
iotop有以下使用命令的参数
--version 显示程序版本号并退出 -h, --help 像是帮助信息并退出 -o, --only 只显示实际执行I/O的进程或线程 -b, --batch 非交互式模式 -n NUM, --iter=NUM 结束前的迭代次数[无线] -d SEC, --delay=SEC 迭代之间的延迟[1秒] -p PID, --pid=PID 要监视的进程/线程[所有] -u USER, --user=USER 要监控的用户[所有] -P, --processes 只显示进程,而不是所有线程 -a, --accumulated 显示累积的I/O而不是带宽 -k, --kilobytes 使用千字节 -t, --time 在每一行上添加一个时间戳 -q, --quiet 取消标题中的某些行
在终端输入iotop -k命令,返回以下信息
Total DISK READ:总磁盘读 Actual DISK READ:实际磁盘读 Total DISK WRITE :总磁盘写入 Actual DISK WRITE:实际磁盘写入 TID列:进程PID
iotop的一些快捷键介绍
左右箭头:改变排序方式,默认是按IO排序。 r:改变排序顺序。反向排序 o:只显示有IO输出的进程。 p:进程/线程的显示方式的切换。 a:显示累积使用量。 q:退出。
iotop命令找到消耗I/O最高的进程
iotop -oP
其他命令参数可以自己测试