123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276 |
- perf-top(1)
- ===========
- NAME
- ----
- perf-top - System profiling tool.
- SYNOPSIS
- --------
- [verse]
- '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 [mode,type,min[,limit],order[,key][,branch]]::
- Setup and enable call-graph (stack chain/backtrace) recording,
- implies -g. See `--call-graph` section in perf-record and
- perf-report man pages for details.
- --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. See the `overhead calculation' section for more details.
- --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: /proc/sys/kernel/perf_event_max_stack when present, 127 otherwise.
- --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).
- --proc-map-timeout::
- When processing pre-existing threads /proc/XXX/mmap, it may take
- a long time, because the file may be huge. A time out is needed
- in such cases.
- This option sets the time out limit. The default value is 500 ms.
- -b::
- --branch-any::
- Enable taken branch stack sampling. Any type of taken branch may be sampled.
- This is a shortcut for --branch-filter any. See --branch-filter for more infos.
- -j::
- --branch-filter::
- Enable taken branch stack sampling. Each sample captures a series of consecutive
- taken branches. The number of branches captured with each sample depends on the
- underlying hardware, the type of branches of interest, and the executed code.
- It is possible to select the types of branches captured by enabling filters.
- For a full list of modifiers please see the perf record manpage.
- The option requires at least one branch type among any, any_call, any_ret, ind_call, cond.
- The privilege levels may be omitted, in which case, the privilege levels of the associated
- event are applied to the branch filter. Both kernel (k) and hypervisor (hv) privilege
- levels are subject to permissions. When sampling on multiple events, branch stack sampling
- is enabled for all the sampling events. The sampled branch type is the same for all events.
- The various filters must be specified as a comma separated list: --branch-filter any_ret,u,k
- Note that this feature may not be available on all processors.
- --raw-trace::
- When displaying traceevent output, do not use print fmt or plugins.
- --hierarchy::
- Enable hierarchy output.
- 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.
- include::callchain-overhead-calculation.txt[]
- SEE ALSO
- --------
- linkperf:perf-stat[1], linkperf:perf-list[1], linkperf:perf-report[1]
|