~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/tools/perf/Documentation/tips.txt

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /tools/perf/Documentation/tips.txt (Architecture sparc) and /tools/perf/Documentation/tips.txt (Architecture mips)


  1 For a higher level overview, try: perf report       1 For a higher level overview, try: perf report --sort comm,dso
  2 Sample related events with: perf record -e '{c      2 Sample related events with: perf record -e '{cycles,instructions}:S'
  3 Compare performance results with: perf diff [<      3 Compare performance results with: perf diff [<old file> <new file>]
  4 Boolean options have negative forms, e.g.: per      4 Boolean options have negative forms, e.g.: perf report --no-children
  5 To not accumulate CPU time of children symbols      5 To not accumulate CPU time of children symbols add --no-children
  6 Customize output of perf script with: perf scr      6 Customize output of perf script with: perf script -F event,ip,sym
  7 Generate a script for your data: perf script -      7 Generate a script for your data: perf script -g <lang>
  8 Save output of perf stat using: perf stat reco      8 Save output of perf stat using: perf stat record <target workload>
  9 Create an archive with symtabs to analyse on o      9 Create an archive with symtabs to analyse on other machine: perf archive
 10 Search options using a keyword: perf report -h     10 Search options using a keyword: perf report -h <keyword>
 11 Use parent filter to see specific call path: p     11 Use parent filter to see specific call path: perf report -p <regex>
 12 List events using substring match: perf list <     12 List events using substring match: perf list <keyword>
 13 To see list of saved events and attributes: pe     13 To see list of saved events and attributes: perf evlist -v
 14 Use --symfs <dir> if your symbol files are in      14 Use --symfs <dir> if your symbol files are in non-standard locations
 15 To see callchains in a more compact form: perf     15 To see callchains in a more compact form: perf report -g folded
 16 To see call chains by final symbol taking CPU      16 To see call chains by final symbol taking CPU time (bottom up) use perf report -G
 17 Show individual samples with: perf script          17 Show individual samples with: perf script
 18 Limit to show entries above 5% only: perf repo     18 Limit to show entries above 5% only: perf report --percent-limit 5
 19 Profiling branch (mis)predictions with: perf r     19 Profiling branch (mis)predictions with: perf record -b / perf report
 20 To show assembler sample context control flow      20 To show assembler sample context control flow use perf record -b / perf report --samples 10 and then browse context
 21 To adjust path to source files to local file s     21 To adjust path to source files to local file system use perf report --prefix=... --prefix-strip=...
 22 Treat branches as callchains: perf record -b .     22 Treat branches as callchains: perf record -b ... ; perf report --branch-history
 23 Show estimate cycles per function and IPC in a     23 Show estimate cycles per function and IPC in annotate use perf record -b ... ; perf report --total-cycles
 24 To count events every 1000 msec: perf stat -I      24 To count events every 1000 msec: perf stat -I 1000
 25 Print event counts in machine readable CSV for     25 Print event counts in machine readable CSV format with: perf stat -x\;
 26 If you have debuginfo enabled, try: perf repor     26 If you have debuginfo enabled, try: perf report -s sym,srcline
 27 For memory address profiling, try: perf mem re     27 For memory address profiling, try: perf mem record / perf mem report
 28 For tracepoint events, try: perf report -s tra     28 For tracepoint events, try: perf report -s trace_fields
 29 To record callchains for each sample: perf rec     29 To record callchains for each sample: perf record -g
 30 If call chains don't work try perf record --ca     30 If call chains don't work try perf record --call-graph dwarf or --call-graph lbr
 31 To record every process run by a user: perf re     31 To record every process run by a user: perf record -u <user>
 32 To show inline functions in call traces add --     32 To show inline functions in call traces add --inline to perf report
 33 To not record events from perf itself add --ex     33 To not record events from perf itself add --exclude-perf
 34 Skip collecting build-id when recording: perf      34 Skip collecting build-id when recording: perf record -B
 35 To change sampling frequency to 100 Hz: perf r     35 To change sampling frequency to 100 Hz: perf record -F 100
 36 To show information about system the samples w     36 To show information about system the samples were collected on use perf report --header
 37 To only collect call graph on one event use pe     37 To only collect call graph on one event use perf record -e cpu/cpu-cycles,callgraph=1/,branches ; perf report --show-ref-call-graph
 38 To set sampling period of individual events us     38 To set sampling period of individual events use perf record -e cpu/cpu-cycles,period=100001/,cpu/branches,period=10001/ ...
 39 To group events which need to be collected tog     39 To group events which need to be collected together for accuracy use {}: perf record -e {cycles,branches}' ...
 40 To compute metrics for samples use perf record     40 To compute metrics for samples use perf record -e '{cycles,instructions}' ... ; perf script -F +metric
 41 See assembly instructions with percentage: per     41 See assembly instructions with percentage: perf annotate <symbol>
 42 If you prefer Intel style assembly, try: perf      42 If you prefer Intel style assembly, try: perf annotate -M intel
 43 When collecting LBR backtraces use --stitch-lb     43 When collecting LBR backtraces use --stitch-lbr to handle more than 32 deep entries: perf record --call-graph lbr ; perf report --stitch-lbr
 44 For hierarchical output, try: perf report --hi     44 For hierarchical output, try: perf report --hierarchy
 45 Order by the overhead of source file name and      45 Order by the overhead of source file name and line number: perf report -s srcline
 46 System-wide collection from all CPUs: perf rec     46 System-wide collection from all CPUs: perf record -a
 47 Show current config key-value pairs: perf conf     47 Show current config key-value pairs: perf config --list
 48 To collect Processor Trace with samples use pe     48 To collect Processor Trace with samples use perf record -e '{intel_pt//,cycles}' ; perf script --call-trace or --insn-trace --xed -F +ipc (remove --xed if no xed)
 49 To trace calls using Processor Trace use perf      49 To trace calls using Processor Trace use perf record -e intel_pt// ... ; perf script --call-trace. Then use perf script --time A-B --insn-trace to look at region of interest.
 50 To measure approximate function latency with P     50 To measure approximate function latency with Processor Trace use perf record -e intel_pt// ... ; perf script --call-ret-trace
 51 To trace only single function with Processor T     51 To trace only single function with Processor Trace use perf record --filter 'filter func @ program' -e intel_pt//u ./program ; perf script --insn-trace
 52 Show user configuration overrides: perf config     52 Show user configuration overrides: perf config --user --list
 53 To add Node.js USDT(User-Level Statically Defi     53 To add Node.js USDT(User-Level Statically Defined Tracing): perf buildid-cache --add `which node`
 54 To analyze cache line scalability issues use p     54 To analyze cache line scalability issues use perf c2c record ... ; perf c2c report
 55 To browse sample contexts use perf report --sa     55 To browse sample contexts use perf report --sample 10 and select in context menu
 56 To separate samples by time use perf report --     56 To separate samples by time use perf report --sort time,overhead,sym
 57 To filter subset of samples with report or scr     57 To filter subset of samples with report or script add --time X-Y or --cpu A,B,C or --socket-filter ...
 58 To set sample time separation other than 100ms     58 To set sample time separation other than 100ms with --sort time use --time-quantum
 59 Add -I to perf record to sample register value     59 Add -I to perf record to sample register values, which will be visible in perf report sample context.
 60 To show IPC for sampling periods use perf reco     60 To show IPC for sampling periods use perf record -e '{cycles,instructions}:S' and then browse context
 61 To show context switches in perf report sample     61 To show context switches in perf report sample context add --switch-events to perf record.
 62 To show time in nanoseconds in record/report a     62 To show time in nanoseconds in record/report add --ns
 63 To compare hot regions in two workloads use pe     63 To compare hot regions in two workloads use perf record -b -o file ... ; perf diff --stream file1 file2
 64 To compare scalability of two workload samples     64 To compare scalability of two workload samples use perf diff -c ratio file1 file2
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php