PERF-TOP(1)

NAME
perf-top - System profiling tool.

SYNOPSIS

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.

-s <symbol>, --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

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

--comms
    Only consider symbols in these comms.

--symbols
    Only consider these symbols.

-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).

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

perf-stat(1), perf-list(1)