作为调试IO生成器的一部分,我在RH64 6.4下运行x64硬件上运行了一组奇怪的结果(在多个系统上验证):
- 应用程序使用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的早期实现不会显示“加倍”写入
此行为是否为已知错误?
答案 0 :(得分:0)
经过一些进一步测试后,似乎此行为仅限于(默认)CFQ调度程序。转移到NOP调度程序使IOSTAT与其他测量工具保持一致。