72 lines
2.3 KiB
Plaintext
72 lines
2.3 KiB
Plaintext
Demonstrations of drsnoop, the Linux BPF CO-RE version.
|
|
|
|
|
|
drsnoop traces the direct reclaim system-wide, and prints various details.
|
|
Example output:
|
|
|
|
# drsnoop
|
|
|
|
Tracing direct reclaim events... Hit Ctrl-C to end.
|
|
TIME COMM TID LAT(ms) PAGES
|
|
14:56:43 in:imklog 268 106.637 39
|
|
14:56:43 systemd-udevd 232 110.708 53
|
|
14:56:43 systemd-journal 19531 106.083 62
|
|
^C
|
|
|
|
While tracing, the processes alloc pages due to insufficient memory available
|
|
in the system, direct reclaim events happened, which will increase the waiting
|
|
delay of the processes.
|
|
|
|
drsnoop can be useful for discovering when allocstall(/proc/vmstat) continues
|
|
to increase, whether it is caused by some critical processes or not.
|
|
|
|
The -p option can be used to filter on a PID, which is filtered in-kernel.
|
|
|
|
# drsnoop -p 17491
|
|
|
|
Tracing direct reclaim events... Hit Ctrl-C to end.
|
|
TIME COMM TID LAT(ms) PAGES
|
|
14:59:56 summond 17491 0.24 50
|
|
14:59:56 summond 17491 0.26 38
|
|
14:59:56 summond 17491 0.36 72
|
|
^C
|
|
|
|
This shows the summond process allocs pages, and direct reclaim events happening,
|
|
and the delays are not affected much.
|
|
|
|
A maximum tracing duration can be set with the -d option. For example, to trace
|
|
for 2 seconds:
|
|
|
|
# drsnoop -d 2
|
|
|
|
Tracing direct reclaim events for 2 secs.
|
|
TIME COMM TID LAT(ms) PAGES
|
|
15:02:16 head 21715 0.15 195
|
|
|
|
USAGE message:
|
|
|
|
# drsnoop --help
|
|
|
|
Usage: drsnoop [OPTION...]
|
|
Trace direct reclaim latency.
|
|
|
|
USAGE: drsnoop [--help] [-p PID] [-t TID] [-d DURATION] [-e]
|
|
|
|
EXAMPLES:
|
|
drsnoop # trace all direct reclaim events
|
|
drsnoop -p 123 # trace pid 123
|
|
drsnoop -t 123 # trace tid 123 (use for threads only)
|
|
drsnoop -d 10 # trace for 10 seconds only
|
|
drsnoop -e # trace all direct reclaim events with extended faileds
|
|
|
|
-d, --duration=DURATION Total duration of trace in seconds
|
|
-e, --extended Extended fields output
|
|
-p, --pid=PID Process PID to trace
|
|
-t, --tid=TID Thread TID to trace
|
|
-v, --verbose Verbose debug output
|
|
-?, --help Give this help list
|
|
--usage Give a short usage message
|
|
-V, --version Print program version
|
|
|
|
Report bugs to <bpf@vger.kernel.org>.
|