dwww Home | Manual pages | Find package

btrfsslower(8)              System Manager's Manual             btrfsslower(8)

NAME
       btrfsslower - Trace slow btrfs file operations, with per-event details.

SYNOPSIS
       btrfsslower [-h] [-j] [-p PID] [min_ms] [-d DURATION]

DESCRIPTION
       This  tool  traces  common btrfs file operations: reads, writes, opens,
       and syncs. It measures the time spent in these operations,  and  prints
       details for each that exceeded a threshold.

       WARNING: See the OVERHEAD section.

       By default, a minimum millisecond threshold of 10 is used. If a thresh-
       old of 0 is used, all events are printed (warning: verbose).

       Since  this  works by tracing the btrfs_file_operations interface func-
       tions, it 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
       -p PID Trace this PID only.

       min_ms Minimum I/O latency (duration) to trace,  in  milliseconds.  De-
              fault is 10 ms.

       -d DURATION
              Total duration of trace in seconds.

EXAMPLES
       Trace synchronous file reads and writes slower than 10 ms:
              # btrfsslower

       Trace slower than 1 ms:
              # btrfsslower 1

       Trace slower than 1 ms, and output just the fields in parsable format
       (csv):
              # btrfsslower -j 1

       Trace all file reads and writes (warning: the output will be verbose):
              # btrfsslower 0

       Trace slower than 1 ms, for PID 181 only:
              # btrfsslower -p 181 1

       Trace for 10 seconds only:
              # btrfsslower -d 10

FIELDS
       TIME(s)
              Time of I/O completion since the first I/O seen, in seconds.

       COMM   Process name.

       PID    Process ID.

       T      Type of operation. R == read, W == write, O == open, S == fsync.

       OFF_KB File offset for the I/O, in Kbytes.

       BYTES  Size of I/O, in bytes.

       LAT(ms)
              Latency  (duration)  of I/O, measured from when it was issued by
              VFS to the filesystem, to when it completed. This time is inclu-
              sive of block device I/O, file system CPU  cycles,  file  system
              locks,  run  queue latency, etc. It's a more accurate measure of
              the latency suffered by applications performing file system I/O,
              than to measure this down at the block device interface.

       FILENAME
              A cached kernel file name (comes from dentry->d_name.name).

       ENDTIME_us
              Completion timestamp, microseconds (-j only).

       OFFSET_b
              File offset, bytes (-j only).

       LATENCY_us
              Latency (duration) of the I/O, in microseconds (-j only).

OVERHEAD
       This adds low-overhead instrumentation to btrfs writes and  fsyncs,  as
       well  as  all system reads and opens (due to the current implementation
       of the btrfs_file_operations interface). Particularly,  all  reads  and
       writes from the file system cache will incur extra overhead while trac-
       ing. Such reads and writes can be very frequent (depending on the work-
       load;  eg, 1M/sec), at which point the overhead of this tool may become
       noticeable.  Measure and quantify before use. If this continues to be a
       problem, consider switching to a tool that prints  in-kernel  summaries
       only, such as btrfsdist(8).

       Note  that the overhead of this tool should be less than fileslower(8),
       as this tool targets btrfs functions only, and not all file  read/write
       paths (which can include socket I/O).

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

SEE ALSO
       btrfsdist(8), biosnoop(8), funccount(8), fileslower(8)

USER COMMANDS                     2016-02-15                    btrfsslower(8)

Generated by dwww version 1.16 on Tue Dec 16 16:20:11 CET 2025.