如何根据不同参数获取磁盘统计信息

如何根据不同参数获取磁盘统计信息

有什么方法可以获取按某些参数分组的磁盘统计信息,例如:

按大小/延迟写入?按大小/延迟读取?

就像是:

total writes - 100
writes by size:
    - < 4096 - 20
    - 4096 - 16384 - 30
    ...

其中 4096/16384 是块大小。

答案1

使用 eBPF 按延迟进行分组:https://github.com/iovisor/bcc/blob/v0.9.0/tools/biolatency_example.txt

我不知道按大小分组。使用 eBPF 或 blktrace 绝对是可能的。 (我认为blktrace管理费用略高)。


令人困惑的是,block/blk-stat.c实现了某种延迟直方图。 (请参阅对“bucket”的引用。但是,它仅在内核内部的几个地方使用:无法从内核外部使用它。

相关内容