mdflush.bt(8) System Manager's Manual mdflush.bt(8)

mdflush.bt - Trace md flush events. Uses bpftrace/eBPF.

mdflush.bt

This tool traces flush events by md, the Linux multiple device driver (software RAID). The timestamp and md device for the flush are printed. Knowing when these flushes happen can be useful for correlation with unexplained spikes in disk latency.

This works by tracing the kernel md_flush_request() function using kernel dynamic tracing, and will need updating to match any changes to this function.

Note that the flushes themselves are likely to originate from higher in the I/O stack, such as from the file systems.

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

CONFIG_BPF and bpftrace.

# mdflush.bt

Time of the flush event (HH:MM:SS).
The process ID that was on-CPU when the event was issued. This may identify the cause of the flush (eg, the "sync" command), but will often identify a kernel worker thread that was managing I/O.
The command name for the PID.
The md device name.

Expected to be negligible.

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 may provide more options and customizations.

https://github.com/iovisor/bcc

Linux

Unstable - in development.

Brendan Gregg

biosnoop.bt(8)

2018-09-07 USER COMMANDS