PERF-TOP(1) perf Manual PERF-TOP(1) (NAME) perf-top - . (SYNOPSIS) perf top [-e | --event=EVENT] [] (DESCRIPTION) . (OPTIONS) -a, --all-cpus . () -c , --count= . -C , --cpu= . : 0,1. - : 0-2. . -d , --delay= . -e , --event= PMU. ( perf list ) PMU rN N /sys/bus/event_source/devices/cpu/format/* . --filter= . (-e) . perf- record(1) . -E , --entries= . -f , --count-filter= . --group-sort-idx n . n . . : . -F , --freq= . sysctl kernel.perf_event_max_sample_rate max . -i, --inherit . -k , --vmlinux= vmlinux. (annotation) . --ignore-vmlinux vmlinux. --kallsyms= kallsyms -m , --mmap-pages= mmap ( ) - B/K/M/G. . -p , --pid= (PID) ( ). -t , --tid= (TID) ( ). -u, --uid= uid. . -r , --realtime= (RT) SCHED_FIFO. --sym-annotate= . -K, --hide_kernel_symbols . -U, --hide_user_symbols . --demangle-kernel (demangle) . -D, --dump-symtab . -v, --verbose ( ). -z, --zero . -s, --sort (): pid, comm, dso, symbol, parent, srcline, weight, local_weight, abort, in_tx, transaction, overhead, sample, period. --sort perf-report . --fields= - CSV . : overhead, overhead_sys, overhead_us, overhead_children, sample period. () . --field . -n, --show-nr-samples . --show-total-period (periods). --dsos dso . overhead . --percentage . --comms comm . overhead . --percentage . --symbols . overhead . --percentage . -M, --disassembler-style= objdump. --addr2line= addr2line. --objdump= objdump. --prefix=PREFIX, --prefix-strip=N N PREFIX . . --source . --no-source . --asm-raw . -g call-graph ( /backtrace). --call-graph [mode,type,min[,limit],order[,key][,branch]] call-graph ( /backtrace) -g . --call-graph perf-record perf-report . --children (callchain) . <> . -g/--call-graph . `overhead calculation' . --no-children . --max-stack . . Default: /proc/sys/kernel/perf_event_max_stack when present, 127 otherwise. --ignore-callees= (callees) regex . (callers) call-graph . --percent-limit (overhead) . (: 0). --percentage . --comms --dsos --symbols TUI ( thread dso ) . <> . <> . -w, --column-widths= . 0 ( ). --proc-map-timeout /proc/XXX/mmap . (time out) . . 500 . -b, --branch-any (taken branch). . --branch-filter any . --branch-filter . -j, --branch-filter (taken branch). . . . perf record . any any_call any_ret ind_call cond . . (k) (hv) . . . : --branch-filter any_ret,u,k . --branch-history (callstack). . --raw-trace print fmt traceevent. -H, --hierarchy . . : perf report -s dso,sym # # Overhead Shared Object Symbol # ........ ................. ........... 50.00% [kernel.kallsyms] [k] kfunc1 20.00% perf [.] foo 15.00% [kernel.kallsyms] [k] kfunc2 10.00% perf [.] bar 5.00% libc.so [.] libcall : perf report -s dso,sym --hierarchy # # Overhead Shared Object / Symbol # .......... ...................... 65.00% [kernel.kallsyms] 50.00% [k] kfunc1 15.00% [k] kfunc2 30.00% perf 20.00% [.] foo 10.00% [.] bar 5.00% libc.so 5.00% [.] libcall --overwrite Knights Landing/Mill PERF_RECORD_MMAP perf top . / mmap . . --force . --num-thread-synthesize . (online CPUs) . --namespaces PERF_RECORD_NAMESPACES cgroup_id. -G name, --cgroup name (cgroup) "name". per-cpu . cgroup (mounted) . "name" . cgroup . cgroup cgroup cgroup . -G foo,,bar cgroup ( ) . cgroup . cgroup -e e1 -e e2 -G foo,foo -e e1 -e e2 -G foo . --all-cgroups PERF_RECORD_CGROUP cgroup. --switch-on EVENT_NAME . : broadcast : perf probe -L icmp_rcv probe : perf probe icmp_rcv:59 perf top cycles broadcast . broadcast : perf top -e cycles,probe:icmp_rcv --switch-on=probe:icmp_rcv (overhead) cycles switch-on. perf top -e '{cycles,probe:icmp_rcv}' --switch-on=probe:icmp_rcv perf probe probe:icmp_rcv probe . --switch-off EVENT_NAME . --show-on-off-events --switch-on/off . perf top --group switch-on/off off/on perf top . --stitch-lbr LBR (stitched LBRs) . --call-graph lbr . . (call stack overflows) lbr . . . setjmp/longjmp / . --pfm-events events PMU libpfm4 (: http://perfmon2.sf.net) . --pfm-events inst_retired:any_p:u:c=1:i. . . -e . -e . {} . [d] . [e] . [E] . [f] ( >=). [F] ( >=). [s] . [S] . [K] (kernel). [U] (user). [z] . [qQ] . . (OVERHEAD CALCULATION) CPU Children Self perf (callchains) ( Wall (wall-clock)). self (period) - () - . perf self . children . Children () . children self . . . .ft C void foo(void) { /* do something */ } void bar(void) { /* do something */ foo(); } int main(void) { bar() return 0; } .ft foo bar bar main foo main . main foo bar bar foo . foo bar . ( self) perf report : .ft C Overhead Symbol ........ ..................... 60.00% foo | --- foo bar main __libc_start_main 40.00% bar | --- bar main __libc_start_main .ft --children self ( foo bar) children . : .ft C Children Self Symbol ........ ........ .................... 100.00% 0.00% __libc_start_main | --- __libc_start_main 100.00% 0.00% main | --- main __libc_start_main 100.00% 40.00% bar | --- bar main __libc_start_main 60.00% 60.00% foo | --- foo bar main __libc_start_main .ft self foo () children bar main __libc_start_main . self bar () children main \_\_libc_start_main . \_\_libc_start_main main children () ( self ) foo bar . v3.16 children . children --no-children report.children = false top.children = false perf ..SH " (SEE ALSO)" perf-stat(1), perf-list(1), perf-report(1) perf 09/04/2026 PERF-TOP(1)