PERF-REPORT(1) perf Manual PERF-REPORT(1) (NAME) perf-report - perf.data ( perf record) (SYNOPSIS) perf report [-i | --input=file] (DESCRIPTION) perf record . (OPTIONS) -i, --input= . (: perf.data stdin fifo ) -v, --verbose . ( ) -q, --quiet . ( -v) -n, --show-nr-samples --show-cpu-utilization cpu. -T, --threads (per-thread). -s . -c, --comms= comm. CSV file://filename . (overhead) (latency) . --percentage . --pid= ( ). --tid= ( ). -d, --dsos= dso. CSV file://filename . . --percentage . -S, --symbols= . CSV file://filename . . --percentage . --symbol-filter= ( ) . -U, --hide-unresolved . --parallelism . CPU . ( : "1" "7,8" "1,64-128"). / . . --percentage . `CPU and latency overheads' . --latency CPU ( --latency perf record). -s, --sort= () - CSV . : pid comm dso symbol parent cpu socket srcline weight local_weight cgroup_id addr comm_nodigit. : o comm: () /proc//comm o pid: tid o tgid: tgid o dso: o dso_size: o symbol: o symbol_size: o parent: regex . "[other]" . o cpu: cpu o socket: o parallelism: thread o srcline: . DWARF . o srcfile: . dwarf . o weight: transaction. . o local_weight: . o cgroup_id: inode cgroup. o cgroup: cgroup cgroupfs. o transaction: abort . o overhead: CPU . o latency: (wall-clock) . `CPU and latency overheads' . o overhead_sys: CPU o overhead_us: CPU o overhead_guest_sys: CPU o overhead_guest_us: CPU o sample: o period: o time: --time-quantum ( 100ms). overhead . o code_page_size: (ip) o ins_lat: . o local_ins_lat: o p_stage_cyc: powerpc . powerpc . o addr: () o retire_lat: X86 . X86 o simd: SIMD. ASE (Advanced SIMD extension) Arm' SVE SME . (predicate) : "e" "p" "d" "f" . o type: . o typeoff: . o symoff: (symbol). o weight1: ( weight_struct). o weight2: ( weight_struct). o weight3: ( weight_struct). o comm_nodigit: comm "" overhead comm dso symbol . ( --sort overhead,comm,dso,symbol). --branch-stack : o dso_from: () o dso_to: o symbol_from: o symbol_to: o srcline_from: o srcline_to: o mispredict: "N" "Y" o in_tx: TSX o abort: TSX. o cycles: (basic block) comm dso_from symbol_from dso_to symbol_to '--branch-stack' . symbol "IPC" "IPC Coverage" . "IPC" IPC "IPC coverage" IPC . IPC (Instruction Per Cycle) . . IPC . --mem-mode ( --branch-stack): symbol_daddr dso_daddr locked tlb mem snoop dcacheline blocked. o symbol_daddr: o dso_daddr: o locked: o tlb: tlb o mem: o snoop: snoop ( ) o dcacheline: o phys_daddr: o data_page_size: o blocked: local_weight mem sym dso symbol_daddr dso_daddr snoop tlb locked blocked local_ins_lat '--mem-mode' . () tracepoint () : trace, trace_fields, [.][/raw] o trace: (pretty-printed) o trace_fields: tracepoint o : . . . . 'sched:sched_switch' 'switch' . ( ) '%' . '%1' '%2' . '/raw' . --raw-trace . tracepoint 'trace' . -F, --fields= - CSV . : overhead latency overhead_sys overhead_us overhead_children sample period weight1 weight2 weight3 ins_lat p_stage_cyc retire_lat. . . () . -F . '+' () . : perf report -F +period,sample. -p, --parent= (regex) . (callchain) . "^sys_|^do_page_fault" --sort parent . -x, --exclude-other (parent-match). -w, --column-widths= . ( ). -t, --field-separator= ( ) . . -D, --dump-raw-trace ASCII. --disable-order (raw trace). -g, --call-graph= (type) (print limit) (sort key) (branch) (value). . print_limit threshold . print_type : - flat: . - graph: . () - fractal: graph . . - folded: - none: . threshold . 0.5 (%) . print_limit stdio . hist . threshold ( ). 0 () . order : - callee: callee. - caller: caller. --children 'caller' 'callee'. sort_key : - function: () - address: - srcline: branch : - branch: branch . --branch-history . value : - percent: () - period: - count: --children . "Children" . . `Overhead calculation' . --no-children . --max-stack . . --itrace . : 127 -G, --inverted caller. --ignore-callees= callee () (regex) . caller . --pretty= (pretty printing). key: normal raw --stdio stdio. --stdio-color always never auto "color.ui" .perfconfig . --stdio-color always (pipe) . --stdio-color always . --tui (TUI) annotate DSO . --tui tty pipe stdio . --gtk GTK2. -k, --vmlinux= vmlinux --ignore-vmlinux vmlinux. --kallsyms= kallsyms -m, --modules . : -k (LIVE kernel) . -f, --force . --symfs= . (layout) hierarchy ( ) flat ( ) . (flat) . -C, --cpu (CPU) . CPU : 0,1. - : 0-2. . -M, --disassembler-style= (disassembler style) objdump. --source . --no-source . --asm-raw . --show-total-period (periods). -I, --show-info perf.data. . : () cpu numa . -b, --branch-stack (histograms). perf.data perf record -b perf record --branch-filter xxx xxx . perf report perf.data --no-branch-stack . --branch-history (callstack). . -b ( -j) -g . : - Predicted: . ( / ) - Abort: tsx. - Cycles: (basic block). o iterations: callchain. --addr2line= addr2line. --objdump= objdump. --prefix=PREFIX, --prefix-strip=N N PREFIX. . --group . . --group-sort-idx n . n . . : . --demangle (demangle) . --no-demangle . --demangle-kernel (demangle) ( ++C). --mem-mode . perf.data perf record -d -W -e cpu/mem-loads/p -e cpu/mem-stores/p . perf mem . --percent-limit (overhead) . (: 0). () callchain . callchain . --call-graph . --percentage . --comms --dsos --symbols / --parallelism (Zoom) TUI ( thread dso ) . "relative" 100% . "absolute" . --header perf.data. perf cpu/mem perf . --stdio . --header-only perf.data ( --stdio ). --time : ,. . . start ( ,x.y ) . stop ( x.y, ) . --time "1234.567,1234.789 1235," . 'a%/n,b%/m,...' 'a%-b%,c%-%d,...' . : 10%: perf report --time 10%/2 0% 10%: perf report --time 0%-10% 10%: perf report --time 10%/1,10%/2 0% 10% 30% 40%: perf report --time 0%-10%,30%-40% --switch-on EVENT_NAME . perf probe . --switch-off EVENT_NAME . --show-on-off-events --switch-on/off . perf report switch-on/off --group off/on perf report . --itrace (instruction tracing). : i (instructions) y (cycles) b (branches) c ( calls) r ( returns) x (transactions) w ptwrite p ( PSB Intel PT) o aux-output ( perf record ) I () ( Intel PT Event Trace) e (error) d (debug log) f (L1 cache) m (LLC) M (memory) t TLB a (remote access) g ( i x ) G l ( i x ) L s q ( ) A IPC Z ( <>) T (kernel time) --itrace=iybxwpe perf script --itrace=ce . Period ( perf script ) : i (instructions) t (ticks) ms us ns () ( ) . ( ) . g l G L . x86 PEBS G L . linkperf:perf-intel-pt[1] . ( ptwrite ) . . --itrace=i0nss1000000 . 'e' . '+' '-' . : o (overflow) l (trace data lost) 'd' . '+' '-' . : a perf e ( - linkperf:perf-config[1] ) o stdout 'q' . --no-itrace . --full-source-path srcline. --show-ref-call-graph (callgraphs) . . "call-graph=no" . perf report . perf report . --stitch-lbr LBR (stitched LBRs) . perf.data perf record --call-graph lbr . . lbr . . . setjmp/longjmp / . --socket-filter . --samples=N N (context) tui perf report. --raw-trace traceevent print fmt . -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 --inline (inlined) . / . --no-inline . --mmaps --tasks mmap /proc//maps. mmap 'perf record --data'. --ns . --stats . ( perf report -D ) --tasks perf. pid/tid/ppid . --percent-type : global-period local-period global-hits local-hits local/global (local) (global). period/hits - (period) (hits). --time-quantum time. 100ms . s us ms ns . --total-cycles --total-cycles Sampled Cycles% . . : 'Sampled Cycles%' - / 'Sampled Cycles' - 'Avg Cycles%' - / 'Avg Cycles' - 'Branch Counter' - ( -v ) --skip-empty 0 --stat. : (wall-clock time) (CPU time). . / . . perf ( overhead latency ). (throughput) (latency) . . CI . . foo bar ( ). : foo - 6.6% bar - 93.4%. : foo - 90% bar - 10%. ( ) bar . perf . perf record --latency perf report : .ft C Overhead Latency Command 93.88% 25.79% cc1 1.90% 39.87% gzip 0.99% 10.16% dpkg-deb 0.57% 1.00% as 0.40% 0.46% sh .ft perf report --latency : .ft C Latency Overhead Command 39.87% 1.90% gzip 25.79% 93.88% cc1 10.16% 0.99% dpkg-deb 4.17% 0.29% git 2.81% 0.11% objtool .ft --sort=latency,parallelism,comm,symbol --hierarchy . ( ) ( Parallelism). : .ft C Latency Overhead Parallelism / Command / Symbol + 56.98% 2.29% 1 + 16.94% 1.36% 2 + 4.00% 20.13% 125 + 3.66% 18.25% 124 + 3.48% 17.66% 126 + 3.26% 0.39% 3 + 2.61% 12.93% 123 .ft / : .ft C Latency Overhead Parallelism / Command / Symbol - 56.98% 2.29% 1 32.80% 1.32% gzip 4.46% 0.18% cc1 2.81% 0.11% objtool 2.43% 0.10% dpkg-source 2.22% 0.09% ld 2.10% 0.08% dpkg-genchanges .ft ( ) --parallelism . --latency --parallelism=1-2 . (OVERHEAD CALCULATION) perf (callchains) Children Self ( Wall ). 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-annotate(1), perf-record(1), perf-intel-pt(1) perf 09/04/2026 PERF-REPORT(1)