SYNOPSIS
perf top [-e <EVENT> | --event=EVENT] [<options>]
DESCRIPTION
This command generates and displays a performance counter profile in real time.
OPTIONS
- -a
- --all-cpus
-
System-wide collection. (default)
- -c <count>
- --count=<count>
-
Event period to sample.
- -C <cpu-list>
- --cpu=<cpu>
-
Monitor only on the list of CPUs provided. Multiple CPUs can be provided as a comma-separated list with no space: 0,1. Ranges of CPUs are specified with -: 0-2. Default is to monitor all CPUS.
- -d <seconds>
- --delay=<seconds>
-
Number of seconds to delay between refreshes.
- -e <event>
- --event=<event>
-
Select the PMU event. Selection can be a symbolic event name (use perf list to list all events) or a raw PMU event (eventsel+umask) in the form of rNNN where NNN is a hexadecimal event descriptor.
- -E <entries>
- --entries=<entries>
-
Display this many functions.
- -f <count>
- --count-filter=<count>
-
Only display functions with more events than this.
- --group
-
Put the counters into a counter group.
- -F <freq>
- --freq=<freq>
-
Profile at this frequency.
- -i
- --inherit
-
Child tasks do not inherit counters.
- -k <path>
- --vmlinux=<path>
-
Path to vmlinux. Required for annotation functionality.
- -m <pages>
- --mmap-pages=<pages>
-
Number of mmap data pages (must be a power of two) or size specification with appended unit character - B/K/M/G. The size is rounded up to have nearest pages power of two value.
- -p <pid>
- --pid=<pid>
-
Profile events on existing Process ID (comma separated list).
- -t <tid>
- --tid=<tid>
-
Profile events on existing thread ID (comma separated list).
- -u
- --uid=
-
Record events in threads owned by uid. Name or number.
- -r <priority>
- --realtime=<priority>
-
Collect data with this RT SCHED_FIFO priority.
- --sym-annotate=<symbol>
-
Annotate this symbol.
- -K
- --hide_kernel_symbols
-
Hide kernel symbols.
- -U
- --hide_user_symbols
-
Hide user symbols.
- --demangle-kernel
-
Demangle kernel symbols.
- -D
- --dump-symtab
-
Dump the symbol table used for profiling.
- -v
- --verbose
-
Be more verbose (show counter open errors, etc).
- -z
- --zero
-
Zero history across display updates.
- -s
- --sort
-
Sort by key(s): pid, comm, dso, symbol, parent, srcline, weight, local_weight, abort, in_tx, transaction, overhead, sample, period. Please see description of --sort in the perf-report man page.
- --fields=
-
Specify output field - multiple keys can be specified in CSV format. Following fields are available: overhead, overhead_sys, overhead_us, overhead_children, sample and period. Also it can contain any sort key(s).
By default, every sort keys not specified in --field will be appended automatically.
- -n
- --show-nr-samples
-
Show a column with the number of samples.
- --show-total-period
-
Show a column with the sum of periods.
- --dsos
-
Only consider symbols in these dsos. This option will affect the percentage of the overhead column. See --percentage for more info.
- --comms
-
Only consider symbols in these comms. This option will affect the percentage of the overhead column. See --percentage for more info.
- --symbols
-
Only consider these symbols. This option will affect the percentage of the overhead column. See --percentage for more info.
- -M
- --disassembler-style=
-
Set disassembler style for objdump.
- --source
-
Interleave source code with assembly code. Enabled by default, disable with --no-source.
- --asm-raw
-
Show raw instruction encoding of assembly instructions.
- -g
-
Enables call-graph (stack chain/backtrace) recording.
- --call-graph
-
Setup and enable call-graph (stack chain/backtrace) recording, implies -g.
- --children
-
Accumulate callchain of children to parent entry so that then can show up in the output. The output will have a new "Children" column and will be sorted on the data. It requires -g/--call-graph option enabled.
- --max-stack
-
Set the stack depth limit when parsing the callchain, anything beyond the specified depth will be ignored. This is a trade-off between information loss and faster processing especially for workloads that can have a very long callchain stack.
Default: 127
- --ignore-callees=<regex>
-
Ignore callees of the function(s) matching the given regex. This has the effect of collecting the callers of each such function into one place in the call-graph tree.
- --percent-limit
-
Do not show entries which have an overhead under that percent. (Default: 0).
- --percentage
-
Determine how to display the overhead percentage of filtered entries. Filters can be applied by --comms, --dsos and/or --symbols options and Zoom operations on the TUI (thread, dso, etc).
"relative" means it's relative to filtered entries only so that the sum of shown entries will be always 100%. "absolute" means it retains the original value before and after the filter is applied.
- -w
- --column-widths=<width[,width…]>
-
Force each column width to the provided list, for large terminal readability. 0 means no limit (default behavior).
INTERACTIVE PROMPTING KEYS
- [d]
-
Display refresh delay.
- [e]
-
Number of entries to display.
- [E]
-
Event to display when multiple counters are active.
- [f]
-
Profile display filter (>= hit count).
- [F]
-
Annotation display filter (>= % of total).
- [s]
-
Annotate symbol.
- [S]
-
Stop annotation, return to full profile display.
- [z]
-
Toggle event count zeroing across display updates.
- [qQ]
-
Quit.
Pressing any unmapped key displays a menu, and prompts for input.