Show I/O distribution for requested block sizes, by process name.
This works by tracing block:block_rq_issue and prints a histogram of I/O size.
Since this uses BPF, only the root user can use this tool.
CONFIG_BPF and bcc.
- Count I/O size per process until Ctrl-C is hit:
Size in kilobytes of range
How many I/O fell into this range
An ASCII bar chart to visualize the distribution (count column)
This traces a block I/O tracepoint to update a histogram, which is asynchronously copied to user-space. This method is very efficient, and the overhead for most storage I/O rates (< 10k IOPS) should be negligible. If you have a higher IOPS storage environment, test and quantify the overhead before use.
This is from bcc.
Also look in the bcc distribution for a companion _examples.txt file containing example usage, output, and commentary for this tool.
Unstable - in development.