| 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] |