| .TH syncsnoop 8 "2015-08-18" "USER COMMANDS" |
| .SH NAME |
| syncsnoop \- Trace sync() syscall. Uses Linux eBPF/bcc. |
| .SH SYNOPSIS |
| .B syncsnoop |
| .SH DESCRIPTION |
| syncsnoop traces calls to sync(), which flushes file system buffers to |
| storage devices. These calls can cause performance perturbations, and it can |
| be useful to know if they are happening and how frequently. |
| |
| This works by tracing the kernel sys_sync() function using dynamic tracing, and |
| will need updating to match any changes to this function. |
| |
| This makes use of a Linux 4.4 feature (bpf_perf_event_output()); |
| for kernels older than 4.4, see the version under tools/old, |
| which uses an older mechanism. |
| |
| This program is also a basic example of eBPF/bcc. |
| |
| Since this uses BPF, only the root user can use this tool. |
| .SH REQUIREMENTS |
| CONFIG_BPF and bcc. |
| .SH EXAMPLES |
| .TP |
| Trace calls to sync(): |
| # |
| .B syncsnoop |
| .SH FIELDS |
| .TP |
| TIME(s) |
| Time of the call, in seconds. |
| .TP |
| CALL |
| Call traced. |
| .SH OVERHEAD |
| This traces the kernel sync function and prints output for each event. As the |
| rate of this is generally expected to be low (<< 100/s), the overhead is also |
| expected to be negligible. |
| .SH SOURCE |
| This is from bcc. |
| .IP |
| https://github.com/iovisor/bcc |
| .PP |
| Also look in the bcc distribution for a companion _examples.txt file containing |
| example usage, output, and commentary for this tool. |
| .SH OS |
| Linux |
| .SH STABILITY |
| Unstable - in development. |
| .SH AUTHOR |
| Brendan Gregg |
| .SH SEE ALSO |
| iostat(1) |