biotop - Block device (disk) I/O by process top.
Contents
Description
This is top for disks.
This traces block device I/O (disk I/O), and prints a per-process summary every interval (by default, 1
second). The summary is sorted on the top disk consumers by throughput (Kbytes). The PID and process name
shown are measured from when the I/O was first created, which usually identifies the responsible process.
For efficiency, this uses in-kernel eBPF maps to cache process details (PID and comm) by I/O request, as
well as a starting timestamp for calculating I/O latency, and the final summary.
This works by tracing various kernel blk_*() functions using dynamic tracing, and will need updating to
match any changes to these functions.
Since this uses BPF, only the root user can use this tool.
Examples
Summarize block device I/O by process, 1 second screen refresh:
# biotop
Don't clear the screen:
# biotop-C
5 second summaries, 10 times only:
# biotop510Fields
loadavg:
The contents of /proc/loadavg
PID Cached process ID, if present. This usually (but isn't guaranteed) to identify the responsible
process for the I/O.
COMM Cached process name, if present. This usually (but isn't guaranteed) to identify the responsible
process for the I/O.
D Direction: R == read, W == write. This is a simplification.
MAJ Major device number.
MIN Minor device number.
DISK Disk device name.
I/O Number of I/O during the interval.
Kbytes Total Kbytes for these I/O, during the interval.
AVGms Average time for the I/O (latency) from the issue to the device, to its completion, in
milliseconds.
Inspiration
top(1) by William LeFebvre
Name
biotop - Block device (disk) I/O by process top.
Options
-C Don't clear the screen.
-r MAXROWS
Maximum number of rows to print. Default is 20.
-p PID Trace this PID only.
interval
Interval between updates, seconds.
count Number of interval summaries.
Os
Linux
Overhead
Since block device I/O usually has a relatively low frequency (< 10,000/s), the overhead for this tool is
expected to be low or negligible. For high IOPS storage systems, test and quantify before use.
Requirements
CONFIG_BPF and bcc.
See Also
biosnoop(8), biolatency(8), iostat(1) USER COMMANDS 2016-02-06 biotop(8)
Source
This is from bcc.
https://github.com/iovisor/bcc
Also look in the bcc distribution for a companion _examples.txt file containing example usage, output,
and commentary for this tool.
Stability
Unstable - in development.
Synopsis
biotop[-h][-C][-rMAXROWS][-pPID][interval][count]
