3

作为调试 IO 生成器的一部分,我在 x64 硬件上运行的 RH 6.4 下遇到了一组奇怪的结果(在多个系统上验证):

-- 应用程序使用 linux 异步 IO(即非 posix)访问原始磁盘分区(/dev/sdb1,O_DIRECT),并以 root 身份运行

-- 应用程序报告 100 io/s 和 60% 的写入。

-- 应用程序的 strace 向 io_submit() 和 io_getevents() 报告每秒 100 次调用,反映每秒 100 次 AIO 操作

-- 'dstat --aio' 显示每秒 100 次操作

-- iostat 按预期报告每秒 40 次读取,但每秒写入 120 次,是预期的两倍

-- 使用同步 IO 的早期实现不显示“双倍”写入

这种行为是已知的错误吗?

4

1 回答 1

0

经过一些进一步的测试,这种行为似乎仅限于(默认)CFQ 调度程序。迁移到 NOP 调度程序使 IOSTAT 与其他测量工具保持一致。

于 2013-06-13T00:02:33.147 回答