iotop
iotop命令是一个用来监视磁盘I/O使用状况的top类工具。iotop具有与top相似的UI,其中包括PID、用户、I/O、进程等相关信息。Linux下的IO统计工具如iostat,nmon等大多数是只能统计到per设备的读写情况,如果你想知道每个进程是如何使用IO的就比较麻烦,使用iotop命令可以很方便的查看。
安装
yum install iotop -y
语法
iotop(选项)
选项
-o:只显示有io操作的进程
-b:批量显示,无交互,主要用作记录到文件。
-n NUM:显示NUM次,主要用于非交互式模式。
-d SEC:间隔SEC秒显示一次。
-p PID:监控的进程pid。
-u USER:监控的进程用户。
iotop常用快捷键:
- 左右箭头:改变排序方式,默认是按IO排序。
- r:改变排序顺序。
- o:只显示有IO输出的进程。
- p:进程/线程的显示方式的切换。
- a:显示累积使用量。
- q:退出。
磁盘IO速率测试
dd if=/dev/vdb1 of=kwxgd bs=64k count=4k oflag=dsync 磁盘连续写入测试(268MB)
dd if=kwxgd of=/dev/sdc bs=64k count=4k iflag=direct 磁盘连续读取测试(268MB)
hdparm -t /data/databak/resources/mongodb/data/collect.10 测试读
time sh -c "dd if=/dev/vdb1 of=test bs=1000k count=100 oflag=dsync"
查看系统中进程占用磁盘IO的情况
方法一:
iotop -oP
命令的含义:只显示有I/O行为的进程
方法二:
pidstat -d 1
命令的含义:展示I/O统计,每秒更新一次