forked from xujianming2017/bcc
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add new mountsnoop tool (iovisor#750)
Filesystem mounting and unmounting affects an entire system, so this is a great candidate for system-wide tracing. mountsnoop.py watches all mounts and unmounts and is also mount namespace-aware, which is a requirement for working with containers. Signed-off-by: Omar Sandoval <osandov@fb.com>
- Loading branch information
Showing
3 changed files
with
494 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
.TH mountsnoop 8 "2016-10-14" "USER COMMANDS" | ||
.SH NAME | ||
mountsnoop \- Trace mount() and umount() syscalls. Uses Linux eBPF/bcc. | ||
.SH SYNOPSIS | ||
.B mountsnoop | ||
.SH DESCRIPTION | ||
mountsnoop traces the mount() and umount() syscalls, showing which processes | ||
are mounting and unmounting filesystems in what mount namespaces. This can be | ||
useful for troubleshooting system and container setup. | ||
|
||
This works by tracing the kernel sys_mount() and sys_umount() functions 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()). | ||
|
||
Since this uses BPF, only the root user can use this tool. | ||
.SH REQUIREMENTS | ||
CONFIG_BPF and bcc. | ||
.SH FIELDS | ||
.TP | ||
COMM | ||
Process name | ||
.TP | ||
PID | ||
Process ID | ||
.TP | ||
TID | ||
Thread ID | ||
.TP | ||
MNT_NS | ||
Mount namespace inode number | ||
.TP | ||
CALL | ||
System call, arguments, and return value | ||
.SH OVERHEAD | ||
This traces the kernel mount and umount functions and prints output for each | ||
event. As the rate of these calls is generally expected to be very low, the | ||
overhead is also expected to be negligible. If your system calls mount() and | ||
umount() at a high rate, then test and understand overhead before use. | ||
.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 | ||
Omar Sandoval | ||
.SH SEE ALSO | ||
mount(2) | ||
umount(2) |
Oops, something went wrong.