I’m unable to get oprofile to produce a profile.  My oprofiled.log shows:


-- OProfile Statistics --

Nr. sample dumps: 34

Nr. non-backtrace samples: 0

Nr. kernel samples: 0

Nr. lost samples (no kernel/user): 0

Nr. lost kernel samples: 0

Nr. incomplete code structs: 0

Nr. samples lost due to sample file open failure: 0

Nr. samples lost due to no permanent mapping: 0

Nr. event lost due to buffer overflow: 0

Nr. samples lost due to no mapping: 0

Nr. backtraces skipped due to no file mapping: 0

Nr. samples lost due to no mm: 0


---- Statistics for cpu : 31

Nr. samples lost cpu buffer overflow: 0

Nr. samples received: 0

Nr. backtrace aborted: 0

Nr. samples lost invalid pc: 0


and so on for 32 CPUs.


Any ideas for what I can do to track this down?


One oddity is that I only have 6 cores, and even with hyperthreading that’s 12 cpus.  /proc/cpuinfo confirms 12 cpus.


opcontrol –list-events prints:


$ opcontrol --list-events

oprofile: available events for CPU type "Intel Architectural Perfmon"


See Intel 64 and IA-32 Architectures Software Developer's Manual

Volume 3B (Document 253669) Chapter 18 for architectural perfmon events

This is a limited set of fallback events because oprofile doesn't know your CPU

CPU_CLK_UNHALTED: (counter: all)

        Clock cycles when not halted (min count: 6000)

INST_RETIRED: (counter: all)

        number of instructions retired (min count: 6000)

LLC_MISSES: (counter: all)

        Last level cache demand requests from this core that missed the LLC (min count: 6000)

        Unit masks (default 0x41)


        0x41: No unit mask

LLC_REFS: (counter: all)

        Last level cache demand requests from this core (min count: 6000)

        Unit masks (default 0x4f)


        0x4f: No unit mask

BR_INST_RETIRED: (counter: all)

        number of branch instructions retired (min count: 500)

BR_MISS_PRED_RETIRED: (counter: all)

        number of mispredicted branches retired (precise) (min count: 500)


My work flow is:


sudo opcontrol --shutdown

sudo opcontrol --init

sudo opcontrol --setup --no-vmlinux --callgraph=0 --event=CPU_CLK_UNHALTED:100000 --image=all

sudo opcontrol --start-daemon

sudo opcontrol --reset

sudo opcontrol --start --separate=lib

(Fire up python and run an infinite loop, let it run for a few seconds then kill it)

sudo opcontrol --stop

sudo opcontrol --dump



opreport says:


opreport error: No sample file found: try running opcontrol --dump

or specify a session containing sample files


$ sudo cat /root/.oprofile/daemonrc














This is on Ubuntu 10.10.


Is there any documentation or wiki page on how to track down these problems?  Or is this mailing list my best bet?