Sponsor:

Your company here, and a link to your site. Click to find out more.

bcc-biotop - Man Page

Block device (disk) I/O by process top.

Synopsis

biotop [-h] [-C] [-r MAXROWS] [-p PID] [interval] [count]

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.

Requirements

CONFIG_BPF and bcc.

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.

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) 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.

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.

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.

OS

Linux

Stability

Unstable - in development.

Author

Brendan Gregg, Rocky Xing

Inspiration

top(1) by William LeFebvre

See Also

biosnoop(8), biolatency(8), iostat(1)

Info

2016-02-06 USER COMMANDS