.TH drsnoop 8  "2019-02-20" "USER COMMANDS"
.SH NAME
drsnoop \- Trace direct reclaim events. Uses Linux eBPF/bcc.
.SH SYNOPSIS
.B drsnoop [\-h] [\-T] [\-U] [\-p PID] [\-t TID] [\-u UID] [\-d DURATION] [-n name] [-v]
.SH DESCRIPTION
drsnoop trace direct reclaim events, showing which processes are allocing pages 
with direct reclaiming. This can be useful for discovering when allocstall (/p-
roc/vmstat) continues to increase, whether it is caused by some critical proc-
esses or not.

This works by tracing the direct reclaim events using kernel tracepoints. 

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.

Since this uses BPF, only the root user can use this tool.
.SH REQUIREMENTS
CONFIG_BPF and bcc.
.SH OPTIONS
.TP
\-h
Print usage message.
.TP
\-T
Include a timestamp column.
.TP
\-U
Show UID.
.TP
\-p PID
Trace this process ID only (filtered in-kernel).
.TP
\-t TID
Trace this thread ID only (filtered in-kernel).
.TP
\-u UID
Trace this UID only (filtered in-kernel).
.TP
\-d DURATION
Total duration of trace in seconds.
.TP
\-n name
Only print processes where its name partially matches 'name'
\-v verbose         
Run in verbose mode. Will output system memory state
.TP
\-v
show system memory state
.SH EXAMPLES
.TP
Trace all direct reclaim events:
#
.B drsnoop
.TP
Trace all direct reclaim events, for 10 seconds only:
#
.B drsnoop -d 10
.TP
Trace all direct reclaim events, and include timestamps:
#
.B drsnoop \-T
.TP
Show UID:
#
.B drsnoop \-U
.TP
Trace PID 181 only:
#
.B drsnoop \-p 181
.TP
Trace UID 1000 only:
#
.B drsnoop \-u 1000
.TP
Trace all direct reclaim events from processes where its name partially match-
es 'mond':
#
.B drnsnoop \-n mond
.SH FIELDS
.TP
TIME(s)
Time of the call, in seconds.
.TP
UID
User ID
.TP
PID
Process ID
.TP
TID
Thread ID
.TP
COMM
Process name
.SH OVERHEAD
This traces the kernel direct reclaim tracepoints and prints output for each 
event. As the rate of this is generally expected to be low (< 1000/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
Wenbo Zhang
