【发布时间】:2012-11-28 20:09:13
【问题描述】:
我正在为 Linux 内核开发一个新的 IO 调度程序。我想看看是否有人知道在 Linux 中打印出未完成 IO 请求(磁盘 IO 队列)总数的工具?
我会在终端上工作。
谢谢!
【问题讨论】:
标签: linux io kernel block scheduler
我正在为 Linux 内核开发一个新的 IO 调度程序。我想看看是否有人知道在 Linux 中打印出未完成 IO 请求(磁盘 IO 队列)总数的工具?
我会在终端上工作。
谢谢!
【问题讨论】:
标签: linux io kernel block scheduler
请原谅这里的庞大死灵。您实际上需要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
【讨论】:
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 统计信息 选项。打印的第一个统计数据在系统上进行平均 正常运行时间。为了获得有关当前活动的信息,一个合适的 应指定等待时间,以便后续套打印 统计数据将在这段时间内取平均值。
【讨论】: