linux IOSTAT 重复计算 AIO 写操作?

标签 linux aio iostat

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

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

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

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

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

-- iostat 报告 40 次读取/秒,如预期的那样,但 120 次写入/秒,是预期的两倍

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

此行为是已知错误吗?

最佳答案

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

关于linux IOSTAT 重复计算 AIO 写操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16990349/

相关文章:

zfs - 设备命名 zfs vs smartctl vs iostat

linux - Ubuntu Linux 中的异步 IO io_submit 延迟

linux - Linux 中有异步版本的 sendfile 吗?

linux - 在 Linux 上使用 libaio 发送 FUA 请求

python - 在 Python 中使用定界符解析行

linux - 在 bash 中比较 float

Perl - 终止从管道启动的正在进行的进程

linux - 如何在一行中的 bash 中运行多个后台命令?

c - Linux C程序中如何设置全局变量在某个函数中只读,而在其他函数中可读写

c++ - 你如何找到你的 linux 机器上安装了哪个版本的 libstdc++ 库?