Page doesn't render properly ?


The manuals listed below are intended for three different audiences:

Example reports

You might want to see some example OProfile output.

Cheat sheet

Your 4-step plan to profiling.

  1. Compile and install oprofile.
  2. Set your MANPATH to point at oprofile's installed man pages:
    export MANPATH=/share/man:$MANPATH
    And then review the available options for the operf tool.
  3. Start up the profiler :
    operf /path/to/mybinary
  4. Wait for your application to finish or do Ctl-c to stop profiling. Now let's generate a profile summary :
    opreport --symbols
    Or, if we built our binary with -g, we can produce some annotated source :
    opannotate --source --output-dir=/path/to/annotated-source
    Or we can look at a summary report showing the total number of samples on a per-binary basis :

Event type reference

Quick reference for the available event types for the performance counters. The same info can be retrieved by running ophelp.
ALPHA EV67 (kernel 2.6 only)
AMD Athlon/Duron
AMD64 Hammer
AMD64 family10
AMD64 family11h
AMD64 family12h
AMD64 family14h
AMD64 family15h
AMD64 Generic Performance Events
ARM/XScale PMU1 (kernel >= 2.6.8 only)
ARM/XScale PMU2 (kernel >= 2.6.8 only)
ARM V7 Cortex-A9
ARM V7 Scorpion
ARM V7 ScorpionMP
ARM Cortex-A5
ARM Cortex-A7
ARM Cortex-A15
ARM Cortex-A17
ARM V7 Krait
APM X-Gene
ARM V8 Cortex-A53
ARM V8 Cortex-A57
Intel Pentium Pro
Intel Pentium II
Intel Pentium III
Intel P4
Intel P4 with hyperthreading (kernel 2.6 only)
Intel pentium M (P6 core) (kernel >= 2.6.7 only)
Intel Atom
Intel Core Solo/Duo
Intel Core 2
Intel Core i7 (Nehalem)
Intel Nehalem
Intel Westmere
Intel Sandy Bridge
Intel Ivy Bridge microarchitecture
Intel Haswell microarchitecture
Intel Silvermont microarchitecture
Intel Broadwell microarchitecture
Intel Skylake microarchitecture
Intel Goldmont microarchitecture
Intel Phi (Knights Landing) microarchitecture
MIPS rm9000 (kernel >= 2.6.11)
MIPS Loongson2
MIPS 1004K
ppc e500 (kernel >= 2.6.11 only)
PowerPC G4
PowerPC e300
PowerPC e500 v2
PowerPC e6500
PowerPC e500mc
ppc64 POWER4 (kernel >= 2.6.9 only)
ppc64 POWER5 (kernel >= 2.6.9 only)
ppc64 970 (kernel 2.6 only)
ppc64 970MP
ppc64 POWER5+
ppc64 POWER5++
ppc64 POWER6
ppc64 POWER7
ppc64 POWER8
ppc64 POWER9
IBM System z10
IBM zEnterprise z196
IBM zEnterprise zEC12
IBM zEnterprise z13

Optimizations always bust things, because all optimizations are, in the long haul, a form of cheating, and cheaters eventually get caught. - Larry Wall