You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
2.0 KiB
53 lines
2.0 KiB
Demonstrations of filelife, the Linux eBPF/bcc version.
|
|
|
|
|
|
filelife traces short-lived files: those that have been created and then
|
|
deleted while tracing. For example:
|
|
|
|
# ./filelife
|
|
TIME PID COMM AGE(s) FILE
|
|
05:57:59 8556 gcc 0.04 ccCB5EDe.s
|
|
05:57:59 8560 rm 0.02 .entry_64.o.d
|
|
05:57:59 8563 gcc 0.02 cc5UFHXf.s
|
|
05:57:59 8567 rm 0.01 .thunk_64.o.d
|
|
05:57:59 8578 rm 0.02 .syscall_64.o.d
|
|
05:58:00 8589 rm 0.03 .common.o.d
|
|
05:58:00 8596 rm 0.01 .8592.tmp
|
|
05:58:00 8601 rm 0.01 .8597.tmp
|
|
05:58:00 8606 rm 0.01 .8602.tmp
|
|
05:58:00 8639 rm 0.02 .vma.o.d
|
|
05:58:00 8650 rm 0.02 .vdso32-setup.o.d
|
|
05:58:00 8656 rm 0.00 .vdso.lds.d
|
|
05:58:00 8659 gcc 0.01 ccveeJAz.s
|
|
05:58:00 8663 rm 0.01 .vdso-note.o.d
|
|
05:58:00 8674 rm 0.02 .vclock_gettime.o.d
|
|
05:58:01 8684 rm 0.01 .vgetcpu.o.d
|
|
05:58:01 8690 collect2 0.00 ccvKMxdm.ld
|
|
|
|
This has caught short-lived files that were created during a Linux kernel
|
|
build. The PID shows the process ID that finally deleted the file, and COMM
|
|
is its process name. The AGE(s) column shows the age of the file, in seconds,
|
|
when it was deleted. These are all short-lived, and existed for less than
|
|
one tenth of a second.
|
|
|
|
Creating, populating, and then deleting files as part of another process can
|
|
be an inefficient method of inter-process communication. It can cause disk I/O
|
|
as files are closed and their file descriptors flushed, only later to be
|
|
deleted. As such, short-lived files can be a target of performance
|
|
optimizations.
|
|
|
|
USAGE message:
|
|
|
|
# ./filelife -h
|
|
usage: filelife [-h] [-p PID]
|
|
|
|
Trace stat() syscalls
|
|
|
|
optional arguments:
|
|
-h, --help show this help message and exit
|
|
-p PID, --pid PID trace this PID only
|
|
|
|
examples:
|
|
./filelife # trace all stat() syscalls
|
|
./filelife -p 181 # only trace PID 181
|