Dan*_*eel 63
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; }'
Reads/sec 和 writes/sec 用斜杠分隔:
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