14

我正在为 Linux 内核开发一个新的 IO 调度程序。我想看看是否有人知道在 Linux 中打印出未完成 IO 请求(磁盘 IO 队列)总数的工具?

我会在终端上工作。

谢谢!

4

2 回答 2

38

原谅这里的大死灵。您实际上想要iostat -x显示自上次运行 iostat 以来相关设备的扩展统计信息。如果您希望实时监控队列iostat -xt 1(或iostat -xmt 1以兆字节为单位显示详细信息)。

您可以在列中看到平均队列大小aqu-sz(在以前的版本中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
于 2015-05-18T01:03:17.947 回答
2
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 统计信息。打印的第一个统计数据是系统正常运行时间的平均值。要获取有关当前活动的信息,应指定合适的等待时间,以便随后打印的统计数据集将在该时间段内进行平均。

于 2012-11-28T20:10:43.243 回答