---
name: "perf_3.16-top"
section: "1"
platform: "linux"
package: "linux-tools-3.16"
version: "3.16.56-1"
release: "Debian 8 (Jessie)"
platforms: ["linux"]
url: "https://new.carta.tech/perf_3.16-top"
---

# perf\_3.16-top(1)

System profiling tool.

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

- \--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, 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.
  ```

## 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\_3.16-stat**(1)](/perf_3.16-stat/1.md), [**perf\_3.16-list**(1)](/perf_3.16-list/1.md), [**perf\_3.16-report**(1)](/perf_3.16-report/1.md)
