blob: 28fdee3948806896ad38876d4d1c071f7453a60b [file] [log] [blame]
Ingo Molnar1d8c8b22009-04-20 15:52:29 +02001perf-top(1)
Ingo Molnar6e6b7542008-04-15 22:39:31 +02002===========
Ingo Molnar1d8c8b22009-04-20 15:52:29 +02003
4NAME
5----
Mike Galbraith83617982009-08-04 10:24:41 +02006perf-top - System profiling tool.
Ingo Molnar1d8c8b22009-04-20 15:52:29 +02007
8SYNOPSIS
9--------
10[verse]
Mike Galbraith83617982009-08-04 10:24:41 +020011'perf top' [-e <EVENT> | --event=EVENT] [<options>]
Ingo Molnar1d8c8b22009-04-20 15:52:29 +020012
13DESCRIPTION
14-----------
Shawn Bohrer2e7a9882010-11-30 19:57:21 -060015This command generates and displays a performance counter profile in real time.
Ingo Molnar1d8c8b22009-04-20 15:52:29 +020016
17
18OPTIONS
19-------
Mike Galbraith83617982009-08-04 10:24:41 +020020-a::
21--all-cpus::
22 System-wide collection. (default)
Ingo Molnar1d8c8b22009-04-20 15:52:29 +020023
Mike Galbraith83617982009-08-04 10:24:41 +020024-c <count>::
25--count=<count>::
26 Event period to sample.
27
Stephane Eranianc45c6ea2010-05-28 12:00:01 +020028-C <cpu-list>::
29--cpu=<cpu>::
Shawn Bohrer2e7a9882010-11-30 19:57:21 -060030Monitor only on the list of CPUs provided. Multiple CPUs can be provided as a
31comma-separated list with no space: 0,1. Ranges of CPUs are specified with -: 0-2.
Stephane Eranianc45c6ea2010-05-28 12:00:01 +020032Default is to monitor all CPUS.
Mike Galbraith83617982009-08-04 10:24:41 +020033
34-d <seconds>::
35--delay=<seconds>::
36 Number of seconds to delay between refreshes.
37
38-e <event>::
39--event=<event>::
Thomas Gleixner386b05e2009-06-06 14:56:33 +020040 Select the PMU event. Selection can be a symbolic event name
41 (use 'perf list' to list all events) or a raw PMU
42 event (eventsel+umask) in the form of rNNN where NNN is a
Mike Galbraith83617982009-08-04 10:24:41 +020043 hexadecimal event descriptor.
Ingo Molnar1d8c8b22009-04-20 15:52:29 +020044
Mike Galbraith83617982009-08-04 10:24:41 +020045-E <entries>::
46--entries=<entries>::
47 Display this many functions.
Ingo Molnar1d8c8b22009-04-20 15:52:29 +020048
Mike Galbraith83617982009-08-04 10:24:41 +020049-f <count>::
50--count-filter=<count>::
51 Only display functions with more events than this.
52
Shawn Bohrer2e7a9882010-11-30 19:57:21 -060053--group::
54 Put the counters into a counter group.
55
Mike Galbraith83617982009-08-04 10:24:41 +020056-F <freq>::
57--freq=<freq>::
58 Profile at this frequency.
59
60-i::
61--inherit::
Arnaldo Carvalho de Melo2376c672012-12-11 16:48:41 -030062 Child tasks do not inherit counters.
Mike Galbraith83617982009-08-04 10:24:41 +020063
64-k <path>::
65--vmlinux=<path>::
66 Path to vmlinux. Required for annotation functionality.
67
68-m <pages>::
69--mmap-pages=<pages>::
Jiri Olsa27050f52013-09-01 12:36:13 +020070 Number of mmap data pages (must be a power of two) or size
71 specification with appended unit character - B/K/M/G. The
72 size is rounded up to have nearest pages power of two value.
Mike Galbraith83617982009-08-04 10:24:41 +020073
74-p <pid>::
75--pid=<pid>::
David Ahernb52956c2012-02-08 09:32:52 -070076 Profile events on existing Process ID (comma separated list).
Shawn Bohrer2e7a9882010-11-30 19:57:21 -060077
78-t <tid>::
79--tid=<tid>::
David Ahernb52956c2012-02-08 09:32:52 -070080 Profile events on existing thread ID (comma separated list).
Mike Galbraith83617982009-08-04 10:24:41 +020081
Arnaldo Carvalho de Melo0d37aa32012-01-19 14:08:15 -020082-u::
83--uid=::
84 Record events in threads owned by uid. Name or number.
85
Mike Galbraith83617982009-08-04 10:24:41 +020086-r <priority>::
87--realtime=<priority>::
88 Collect data with this RT SCHED_FIFO priority.
89
Mike Galbraith83617982009-08-04 10:24:41 +020090--sym-annotate=<symbol>::
Kirill Smelkov6cff0e82010-02-03 16:52:08 -020091 Annotate this symbol.
Mike Galbraith83617982009-08-04 10:24:41 +020092
Shawn Bohrer2e7a9882010-11-30 19:57:21 -060093-K::
94--hide_kernel_symbols::
95 Hide kernel symbols.
96
97-U::
98--hide_user_symbols::
99 Hide user symbols.
100
101-D::
102--dump-symtab::
103 Dump the symbol table used for profiling.
104
Mike Galbraith83617982009-08-04 10:24:41 +0200105-v::
106--verbose::
107 Be more verbose (show counter open errors, etc).
108
109-z::
110--zero::
111 Zero history across display updates.
112
Arnaldo Carvalho de Meloab81f3fd2011-10-05 19:16:15 -0300113-s::
114--sort::
Andi Kleenf5d05bc2013-09-20 07:40:41 -0700115 Sort by key(s): pid, comm, dso, symbol, parent, srcline, weight,
Namhyung Kima2ce0672014-03-04 09:06:42 +0900116 local_weight, abort, in_tx, transaction, overhead, sample, period.
117 Please see description of --sort in the perf-report man page.
Arnaldo Carvalho de Meloab81f3fd2011-10-05 19:16:15 -0300118
Namhyung Kim6fe8c262014-03-04 11:01:41 +0900119--fields=::
120 Specify output field - multiple keys can be specified in CSV format.
121 Following fields are available:
Namhyung Kim1432ec32013-10-30 17:05:55 +0900122 overhead, overhead_sys, overhead_us, overhead_children, sample and period.
Namhyung Kim6fe8c262014-03-04 11:01:41 +0900123 Also it can contain any sort key(s).
124
125 By default, every sort keys not specified in --field will be appended
126 automatically.
127
Arnaldo Carvalho de Meloab81f3fd2011-10-05 19:16:15 -0300128-n::
129--show-nr-samples::
130 Show a column with the number of samples.
131
132--show-total-period::
133 Show a column with the sum of periods.
134
135--dsos::
Namhyung Kim33db4562014-02-07 12:06:07 +0900136 Only consider symbols in these dsos. This option will affect the
137 percentage of the overhead column. See --percentage for more info.
Arnaldo Carvalho de Meloab81f3fd2011-10-05 19:16:15 -0300138
139--comms::
Namhyung Kim33db4562014-02-07 12:06:07 +0900140 Only consider symbols in these comms. This option will affect the
141 percentage of the overhead column. See --percentage for more info.
Arnaldo Carvalho de Meloab81f3fd2011-10-05 19:16:15 -0300142
143--symbols::
Namhyung Kim33db4562014-02-07 12:06:07 +0900144 Only consider these symbols. This option will affect the
145 percentage of the overhead column. See --percentage for more info.
Arnaldo Carvalho de Meloab81f3fd2011-10-05 19:16:15 -0300146
Arnaldo Carvalho de Melo64c6f0c2011-10-06 12:48:31 -0300147-M::
148--disassembler-style=:: Set disassembler style for objdump.
149
150--source::
151 Interleave source code with assembly code. Enabled by default,
152 disable with --no-source.
153
154--asm-raw::
155 Show raw instruction encoding of assembly instructions.
156
David Ahernbf806692013-11-14 20:51:30 -0700157-g::
Jiri Olsaae779a62013-10-26 16:25:34 +0200158 Enables call-graph (stack chain/backtrace) recording.
159
Arnaldo Carvalho de Melo19d4ac32011-10-05 19:30:22 -0300160--call-graph::
Jiri Olsaae779a62013-10-26 16:25:34 +0200161 Setup and enable call-graph (stack chain/backtrace) recording,
David Ahernbf806692013-11-14 20:51:30 -0700162 implies -g.
Arnaldo Carvalho de Melo19d4ac32011-10-05 19:30:22 -0300163
Namhyung Kim1432ec32013-10-30 17:05:55 +0900164--children::
165 Accumulate callchain of children to parent entry so that then can
166 show up in the output. The output will have a new "Children" column
167 and will be sorted on the data. It requires -g/--call-graph option
168 enabled.
169
Waiman Long5dbb6e82013-10-18 10:38:49 -0400170--max-stack::
171 Set the stack depth limit when parsing the callchain, anything
172 beyond the specified depth will be ignored. This is a trade-off
173 between information loss and faster processing especially for
174 workloads that can have a very long callchain stack.
175
176 Default: 127
177
Greg Priceb21484f2012-12-06 21:48:05 -0800178--ignore-callees=<regex>::
179 Ignore callees of the function(s) matching the given regex.
180 This has the effect of collecting the callers of each such
181 function into one place in the call-graph tree.
182
Namhyung Kimfa5df942013-05-14 11:09:05 +0900183--percent-limit::
184 Do not show entries which have an overhead under that percent.
185 (Default: 0).
186
Namhyung Kim33db4562014-02-07 12:06:07 +0900187--percentage::
188 Determine how to display the overhead percentage of filtered entries.
189 Filters can be applied by --comms, --dsos and/or --symbols options and
190 Zoom operations on the TUI (thread, dso, etc).
191
192 "relative" means it's relative to filtered entries only so that the
193 sum of shown entries will be always 100%. "absolute" means it retains
194 the original value before and after the filter is applied.
195
Namhyung Kimcf590022014-07-31 14:47:39 +0900196-w::
197--column-widths=<width[,width...]>::
198 Force each column width to the provided list, for large terminal
199 readability. 0 means no limit (default behavior).
200
201
Mike Galbraith83617982009-08-04 10:24:41 +0200202INTERACTIVE PROMPTING KEYS
203--------------------------
204
205[d]::
206 Display refresh delay.
207
208[e]::
209 Number of entries to display.
210
211[E]::
212 Event to display when multiple counters are active.
213
214[f]::
215 Profile display filter (>= hit count).
216
217[F]::
218 Annotation display filter (>= % of total).
219
220[s]::
221 Annotate symbol.
222
223[S]::
224 Stop annotation, return to full profile display.
225
Mike Galbraith83617982009-08-04 10:24:41 +0200226[z]::
227 Toggle event count zeroing across display updates.
228
229[qQ]::
230 Quit.
231
232Pressing any unmapped key displays a menu, and prompts for input.
233
Ingo Molnar1d8c8b22009-04-20 15:52:29 +0200234
Ingo Molnar1d8c8b22009-04-20 15:52:29 +0200235SEE ALSO
236--------
Namhyung Kima2ce0672014-03-04 09:06:42 +0900237linkperf:perf-stat[1], linkperf:perf-list[1], linkperf:perf-report[1]