1PERF-TOP(1) perf Manual PERF-TOP(1)
2
3
4
6 perf-top - System profiling tool.
7
9 perf top [-e <EVENT> | --event=EVENT] [<options>]
10
12 This command generates and displays a performance counter profile in
13 real time.
14
16 -a, --all-cpus
17 System-wide collection. (default)
18
19 -c <count>, --count=<count>
20 Event period to sample.
21
22 -C <cpu-list>, --cpu=<cpu>
23 Monitor only on the list of CPUs provided. Multiple CPUs can be
24 provided as a comma-separated list with no space: 0,1. Ranges of
25 CPUs are specified with -: 0-2. Default is to monitor all CPUS.
26
27 -d <seconds>, --delay=<seconds>
28 Number of seconds to delay between refreshes.
29
30 -e <event>, --event=<event>
31 Select the PMU event. Selection can be a symbolic event name (use
32 perf list to list all events) or a raw PMU event (eventsel+umask)
33 in the form of rNNN where NNN is a hexadecimal event descriptor.
34
35 -E <entries>, --entries=<entries>
36 Display this many functions.
37
38 -f <count>, --count-filter=<count>
39 Only display functions with more events than this.
40
41 --group
42 Put the counters into a counter group.
43
44 -F <freq>, --freq=<freq>
45 Profile at this frequency.
46
47 -i, --inherit
48 Child tasks do not inherit counters.
49
50 -k <path>, --vmlinux=<path>
51 Path to vmlinux. Required for annotation functionality.
52
53 -m <pages>, --mmap-pages=<pages>
54 Number of mmap data pages (must be a power of two) or size
55 specification with appended unit character - B/K/M/G. The size is
56 rounded up to have nearest pages power of two value.
57
58 -p <pid>, --pid=<pid>
59 Profile events on existing Process ID (comma separated list).
60
61 -t <tid>, --tid=<tid>
62 Profile events on existing thread ID (comma separated list).
63
64 -u, --uid=
65 Record events in threads owned by uid. Name or number.
66
67 -r <priority>, --realtime=<priority>
68 Collect data with this RT SCHED_FIFO priority.
69
70 --sym-annotate=<symbol>
71 Annotate this symbol.
72
73 -K, --hide_kernel_symbols
74 Hide kernel symbols.
75
76 -U, --hide_user_symbols
77 Hide user symbols.
78
79 --demangle-kernel
80 Demangle kernel symbols.
81
82 -D, --dump-symtab
83 Dump the symbol table used for profiling.
84
85 -v, --verbose
86 Be more verbose (show counter open errors, etc).
87
88 -z, --zero
89 Zero history across display updates.
90
91 -s, --sort
92 Sort by key(s): pid, comm, dso, symbol, parent, srcline, weight,
93 local_weight, abort, in_tx, transaction, overhead, sample, period.
94 Please see description of --sort in the perf-report man page.
95
96 --fields=
97 Specify output field - multiple keys can be specified in CSV
98 format. Following fields are available: overhead, overhead_sys,
99 overhead_us, overhead_children, sample and period. Also it can
100 contain any sort key(s).
101
102 By default, every sort keys not specified in --field will be appended
103 automatically.
104
105 -n, --show-nr-samples
106 Show a column with the number of samples.
107
108 --show-total-period
109 Show a column with the sum of periods.
110
111 --dsos
112 Only consider symbols in these dsos. This option will affect the
113 percentage of the overhead column. See --percentage for more info.
114
115 --comms
116 Only consider symbols in these comms. This option will affect the
117 percentage of the overhead column. See --percentage for more info.
118
119 --symbols
120 Only consider these symbols. This option will affect the percentage
121 of the overhead column. See --percentage for more info.
122
123 -M, --disassembler-style=
124 Set disassembler style for objdump.
125
126 --source
127 Interleave source code with assembly code. Enabled by default,
128 disable with --no-source.
129
130 --asm-raw
131 Show raw instruction encoding of assembly instructions.
132
133 -g
134 Enables call-graph (stack chain/backtrace) recording.
135
136 --call-graph
137 Setup and enable call-graph (stack chain/backtrace) recording,
138 implies -g.
139
140 --children
141 Accumulate callchain of children to parent entry so that then can
142 show up in the output. The output will have a new "Children" column
143 and will be sorted on the data. It requires -g/--call-graph option
144 enabled.
145
146 --max-stack
147 Set the stack depth limit when parsing the callchain, anything
148 beyond the specified depth will be ignored. This is a trade-off
149 between information loss and faster processing especially for
150 workloads that can have a very long callchain stack.
151
152 Default: 127
153
154 --ignore-callees=<regex>
155 Ignore callees of the function(s) matching the given regex. This
156 has the effect of collecting the callers of each such function into
157 one place in the call-graph tree.
158
159 --percent-limit
160 Do not show entries which have an overhead under that percent.
161 (Default: 0).
162
163 --percentage
164 Determine how to display the overhead percentage of filtered
165 entries. Filters can be applied by --comms, --dsos and/or --symbols
166 options and Zoom operations on the TUI (thread, dso, etc).
167
168 "relative" means it´s relative to filtered entries only so that the
169 sum of shown entries will be always 100%. "absolute" means it retains
170 the original value before and after the filter is applied.
171
172 -w, --column-widths=<width[,width...]>
173 Force each column width to the provided list, for large terminal
174 readability. 0 means no limit (default behavior).
175
176 -b, --branch-any
177 Enable taken branch stack sampling. Any type of taken branch may be
178 sampled. This is a shortcut for --branch-filter any. See
179 --branch-filter for more infos.
180
181 -j, --branch-filter
182 Enable taken branch stack sampling. Each sample captures a series
183 of consecutive taken branches. The number of branches captured with
184 each sample depends on the underlying hardware, the type of
185 branches of interest, and the executed code. It is possible to
186 select the types of branches captured by enabling filters. For a
187 full list of modifiers please see the perf record manpage.
188
189 The option requires at least one branch type among any, any_call, any_ret, ind_call, cond.
190 The privilege levels may be omitted, in which case, the privilege levels of the associated
191 event are applied to the branch filter. Both kernel (k) and hypervisor (hv) privilege
192 levels are subject to permissions. When sampling on multiple events, branch stack sampling
193 is enabled for all the sampling events. The sampled branch type is the same for all events.
194 The various filters must be specified as a comma separated list: --branch-filter any_ret,u,k
195 Note that this feature may not be available on all processors.
196
198 [d]
199 Display refresh delay.
200
201 [e]
202 Number of entries to display.
203
204 [E]
205 Event to display when multiple counters are active.
206
207 [f]
208 Profile display filter (>= hit count).
209
210 [F]
211 Annotation display filter (>= % of total).
212
213 [s]
214 Annotate symbol.
215
216 [S]
217 Stop annotation, return to full profile display.
218
219 [z]
220 Toggle event count zeroing across display updates.
221
222 [qQ]
223 Quit.
224
225 Pressing any unmapped key displays a menu, and prompts for input.
226
228 perf-stat(1), perf-list(1), perf-report(1)
229
230
231
232perf 06/18/2019 PERF-TOP(1)