Answers:
iostat
是sysstat
程序包的一部分,可以根据需要显示总体iops,也可以将它们与读/写分开。
iostat
使用-d标志运行以仅显示设备信息页面,使用-x运行以获取详细信息(单独的读/写统计信息)。您可以通过稍后在命令行上简单添加来指定所需信息的设备。
尝试运行iostat -dx
并查看摘要以了解输出。您还可以iostat -dx 1
用来显示不断刷新的输出,这对于故障排除或实时监控非常有用,
使用awk
,第4栏将为您提供每秒的读取次数,而第5栏将为您提供每秒的写入次数。
每秒读数:
iostat -dx <your disk name> | grep <your disk name> | awk '{ print $4; }'
仅写入/秒:
iostat -dx <your disk name> | grep <your disk name> | awk '{ print $5; }'
读/秒和写/秒用斜杠分隔:
iostat -dx <your disk name> | grep <your disk name> | awk '{ print $4"/"$5; }'
总体IOPS(大多数人都在谈论):
iostat -d <your disk name> | grep <your disk name> | awk '{ print $2; }'
例如,使用我的主驱动器/ dev / sda运行最后一个命令,如下所示:
dan@daneel ~ $ iostat -dx sda | grep sda | awk '{ print $4"/"$5; }'
15.59/2.70
请注意,您也不需要root用户即可运行它,这使其对非特权用户有用。
TL; DR:如果您只是感兴趣sda
,下面的命令将为您提供总体IOPS sda
:
iostat -d sda | grep sda | awk '{ print $2; }'
如果要在所有设备上添加IOPS ,则可以再次使用awk:
iostat -d | tail -n +4 | head -n -1 | awk '{s+=$2} END {print s}'
这样产生的输出如下:
dan@daneel ~ $ iostat -d | tail -n +4 | head -n -1 | awk '{s+=$2} END {print s}'
18.88
iostat -dx 1
我得到ANS这样Linux 2.6.35.14-106.fc14.i686 (shashi) 08/24/2015 _i686_ (2 CPU) Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util sda 2.46 13.80 2.27 2.03 136.26 123.91 60.53 0.11 25.77 4.43 1.91 dm-0 0.00 0.00 2.35 0.77 93.07 6.11 31.86 0.17 53.73 2.59 0.81 dm-1 0.00 0.00 1.02 2.83 8.14 22.66 8.00 0.83 214.34 0.60 0.23 dm-2 0.00 0.00 1.37 11.89 34.77 95.14 9.80 1.67 126.06 0.84 1.11
的DM-0,DM-1,DM-2递归,我应该补充的吗?
sda
。如果您只是想查看硬盘驱动器的IOPS,请使用最后一个命令查看整体IOPS(iostat -d sda | grep sda | awk '{ print $2; }'
)
dm-*
,所以我问,我需要对这些分区执行加法
dm-x
设备是什么:lvdisplay|awk '/LV Name/{n=$3} /Block device/{d=$3; sub(".*:","dm-",d); print d,n;}'
-我将以此来更新答案,以及如何添加结果。