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