biotop(8)
πΎ biotop(8) β System Manager's Manual πΎ
β¨ NAME β¨
biotop β Block device (disk) I/O by process top. π
π SYNOPSIS π
biotop [-h] [-C] [-r MAXROWS] [-p PID] [interval] [count]
π DESCRIPTION π
okay so this is top but for disks π
It traces block device I/O (disk I/O) and prints a per-process summary every interval (1 second by default). The summary is sorted by the top disk consumers by throughput (Kbytes), so you can see who's really eating the disk. π₯ The PID and process name shown are measured from when the I/O was first created, which usually identifies the responsible process. π«Ά
For efficiency, it uses in-kernel eBPF maps to cache process details (PID and comm) by I/O request, plus a starting timestamp for calculating I/O latency, and the final summary. the way that's so smart π§
It works by tracing various kernel blk_*() functions using dynamic tracing, and it will need updating to match any changes to those functions. bestie, keep that in mind π
β οΈ Since this uses BPF, only the root user can use this tool. no cap, you need to be root or it's a hard no π
π§° REQUIREMENTS π§°
You'll need CONFIG_BPF and bcc. β¨
π OPTIONS π
-Cβ don't clear the screen, keep the old output visible πΈ-r MAXROWSβ max number of rows to print. default is 20 π-p PIDβ trace this PID only π―- interval β time between updates, in seconds β±οΈ
- count β how many interval summaries you want π’
π EXAMPLES π
Summarize block device I/O by process, with a 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 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 issue to the device, to its completion, in milliseconds β‘
π OVERHEAD π
block device I/O usually happens at a relatively low frequency (< 10,000/s), so the overhead for this tool is expected to be low or negligible. β¨ For high IOPS storage systems, though, test and quantify before use. π
π 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. it's giving helpful π
π₯οΈ OS π₯οΈ
Linux π§
π§ STABILITY π§
Unstable, still in development. π οΈ
π¨ AUTHOR π¨
Brendan Gregg, Rocky Xing π«Ά
π‘ INSPIRATION π‘
top(1) by William LeFebvre π
π SEE ALSO π
biosnoop(8), biolatency(8), iostat(1) π
that's a wrap, bestie π this page is from the USER COMMANDS section, dated 2016-02-06, and it's all about biotop(8) πβ¨
π¦ where this page comes from
- debian bookworm: bpfcc-tools 0.26.0+ds-1 Β· Apache-2.0
- debian trixie: bpfcc-tools 0.31.0+ds-7 Β· Apache-2.0
- ubuntu noble: bpfcc-tools 0.29.1+ds-1ubuntu7 Β· Apache-2.0
- ubuntu questing: bpfcc-tools 0.31.0+ds-7ubuntu2 Β· Apache-2.0
- ubuntu resolute: bpfcc-tools 0.35.0+ds-1ubuntu2 Β· Apache-2.0
- ubuntu stonking: bpfcc-tools 0.35.0+ds-1ubuntu4 Β· Apache-2.0
- π girlified by anthropic/claude-haiku-5.5 on : a language model's rewrite of the original, under its terms