biosnoop man page

biosnoop.bt ā€” Block I/O tracing tool, showing per I/O latency. Uses bpftrace/eBPF.

Synopsis

biosnoop.bt

Description

This is a basic block I/O (disk I/O) tracing tool, showing each I/O event along with the issuing process ID, and the I/O latency. This can be used to investigate disk I/O performance issues.

This tool currently works by dynamic tracing of the blk_account*() kernel functions, which will need updating to match any changes to these functions in future kernels versions.

Since this uses BPF, only the root user can use this tool.

Requirements

CONFIG_BPF and bpftrace.

Examples

Trace block I/O events, printing per-line summaries:

# biosnoop.bt

Fields

TIME

Time of the I/O completion, in milliseconds since program start.

COMM

Issuing process name. This often identifies the issuing application process, but I/O may be initiated from kernel threads only.

PID

Issuing process ID. This often identifies the issuing application process, but I/O may be initiated from kernel threads only.

ARGS

Process name and arguments (16 word maximum).

Overhead

Since block device I/O usually has a relatively low frequency (< 10,000/s), the overhead for this tool is expected to be negligible. For high IOPS storage systems, test and quantify before use.

Source

This is from bpftrace.

https://github.com/iovisor/bpftrace

Also look in the bpftrace distribution for a companion _examples.txt file containing example usage, output, and commentary for this tool.

This is a bpftrace version of the bcc tool of the same name. The bcc tool provides more fields.

https://github.com/iovisor/bcc

OS

Linux

Stability

Unstable - in development.

Author

Brendan Gregg

See Also

opensnoop(8)

Referenced By

bcc-biolatency(8), bcc-biotop(8), bcc-btrfsslower(8), bcc-dbslower(8), bcc-ext4slower(8), bcc-fileslower(8), bcc-mdflush(8), bcc-mysqld_qslower(8), bcc-nfsslower(8), bcc-xfsslower(8), bcc-zfsslower(8), bitesize(8), mdflush(8), writeback(8).

2018-09-11 USER COMMANDS