perf_3.16-top1
System profiling tool.
Usage
perf top
[{-e
<EVENT> | --event=EVENT}]
[<options>]
Overview
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.
-
-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.
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.