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 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
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
IBM System z10
IBM zEnterprise z196
IBM zEnterprise zEC12

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