我正在为Linux内核开发一个新的IO调度程序。我试图看看是否有人知道在Linux中打印出未完成的IO请求总数(磁盘IO队列)的工具?
我将在终端工作。
谢谢!
答案 0 :(得分:25)
在这里原谅大规模的死灵族。实际上你需要iostat -x
,它将显示自上次运行iostat以来有问题的设备的扩展统计数据。如果您希望实时监控队列,您希望iostat -xt 1
(或iostat -xmt 1
显示以兆字节为单位的详细信息。)
您可以在avgqu-sz
列中查看平均队列大小。
请考虑以下来自iostat -xmt 1
的示例输出,该输出显示完整的IO队列(此设备的最大队列长度为128)和基准测试期间的饱和磁盘。
18/05/15 00:41:05
avg-cpu: %user %nice %system %iowait %steal %idle
0.00 0.00 0.00 6.02 0.00 93.98
Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await svctm %util
xvda 0.00 0.00 1.00 1308.00 0.00 163.50 255.81 133.30 101.15 0.76 100.00
答案 1 :(得分:1)
dmitry@pro:~$ iostat
disk0 cpu load average
KB/t tps MB/s us sy id 1m 5m 15m
50.70 34 1.70 4 3 93 1.83 1.65 1.70
dmitry@pro:~$
说明 Iostat在终端,设备和cpu操作上显示内核I / O统计信息 - 蒸发散。打印的第一个统计数据是在系统上的平均值 准时工作时间。要获得有关当前活动的信息,请使用合适的 应指定等待时间,以便后续打印 统计数据将在那段时间内取平均值。