biotop(8)
π biotop(8) β System Manager's Manual energy π
okay bestie, this is biotop(8) from the System Manager's Manual, and it is literally here to show you disk I/O by process. Group-chat top, but for block devices. π«Ά
πΈ NAME πΈ
biotop β Block device (disk) I/O by process top.
β¨ SYNOPSIS β¨
biotop [-h] [-C] [-r MAXROWS] [-p PID] [interval] [count]
Yep, -h is right there in the synopsis, and the original OPTIONS list below sticks to what it spells out. No invented lore, bestie. π
π DESCRIPTION π
This is top for disks. No cap.
It 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.
It works by tracing various kernel blk_*() functions using dynamic tracing, and it will need updating to match any changes to these functions.
β οΈ Since this uses BPF, only the root user can use this tool. That part is not a vibe check β it's a requirement.
π REQUIREMENTS π
CONFIG_BPF and bcc. That's the whole list. β¨
π OPTIONS π
-Cβ Don't clear the screen. Your screen stays exactly where it is, bestie.-r MAXROWSβ Maximum number of rows to print. Default is20.-p PIDβ Trace this PID only.intervalβ Interval between updates, seconds.countβ Number of interval summaries.
π¦ 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:
# biotop 5 10
πΈ FIELDS πΈ
loadavgβ The contents of/proc/loadavg.PIDβ Cached process ID, if present. This usually, but isn't guaranteed, identifies the responsible process for the I/O.COMMβ Cached process name, if present. This usually, but isn't guaranteed, identifies 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.
π₯ 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. That's the responsible main-character move. π
π§ 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. iykyk. π
β OS β
Linux.
π STABILITY π
Unstable - in development. She's still cooking, bestie. π
π AUTHOR π
Brendan Gregg, Rocky Xing.
π INSPIRATION π
top(1) by William LeFebvre.
π«Ά SEE ALSO π«Ά
Cute sign-off: this page is filed under USER COMMANDS, dated 2016-02-06, and it's the biotop(8) page from bcc. Periodt. π
β¨
π¦ where this page comes from
- centos-stream 10: bcc-tools 0.36.1-1.el10 Β· Apache-2.0
- centos-stream 9: bcc-tools 0.36.1-1.el9 Β· ASL 2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms