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:: 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. SEE ALSO -------- linkperf:perf-stat[1], linkperf:perf-list[1], linkperf:perf-report[1]