nfsslower(8) | System Manager's Manual | nfsslower(8) |
nfsslower - Trace slow NFS file operations, with per-event details.
nfsslower [-h] [-j] [-p PID] [min_ms]
This tool traces common NFSv3 & NFSv4 file operations: reads, writes, opens, and getattrs. 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 threshold of 0 is used, all events are printed (warning: verbose).
Since this works by tracing the nfs_file_operations interface functions, it will need updating to match any changes to these functions.
This tool uses kprobes to instrument the kernel for entry and exit information, in the future a preferred way would be to use tracepoints. Currently there aren't any tracepoints available for nfs_read_file, nfs_write_file and nfs_open_file, nfs_getattr does have entry and exit tracepoints but we chose to use kprobes for consistency
Since this uses BPF, only the root user can use this tool.
CONFIG_BPF and bcc.
-p PID Trace this PID only.
This adds low-overhead instrumentation to NFS operations, including reads and writes from the file system cache. Such read, writes and particularly getattrs can be very frequent (depending on the workload; eg, 1M/sec), at which point the overhead of this tool (even if it prints no "slower" events) can begin to become significant. Measure and quantify before use. If this continues to be a problem, consider switching to a tool that prints in-kernel summaries only. This tool has been tested with NFSv3 & NVSv4, but it might work with NFSv{1,2}, since it is tracing the generic functions from nfs_file_operations.
Note that the overhead of this tool should be less than fileslower(8), as this tool targets NFS functions only, and not all file read/write paths.
This is from bcc.
Also look in the bcc distribution for a companion nfsslower_examples.txt file containing example usage, output, and commentary for this tool.
Linux
Unstable - in development.
Samuel Nair
2017-09-01 | USER COMMANDS |