OProfile

From Wikipedia, the free encyclopedia
  (Redirected from Oprofile)
Jump to: navigation, search
OProfile
Original author(s) John Levon
Initial release 2001
Stable release 0.9.9 / July 29, 2013; 14 months ago (2013-07-29)
Written in C
Operating system Linux
Platform cross-platform
Type profiler
License GPL
Website oprofile.sourceforge.net/news/

In computing, OProfile is a system-wide statistical profiling tool for Linux. John Levon wrote it in 2001 for Linux kernel version 2.4 after his M.Sc. project;[1] it consists of a kernel module, a user-space daemon and several user-space tools.

OProfile can profile an entire system or its parts, from interrupt routines or drivers, to user-space processes. It has low overhead.

The most portable mode of oprofile uses a system timer to generate sampling interrupts (events). A less portable mode allows hardware performance counters to be used for sampling events generationed[clarification needed] on several processor architectures. In Linux 2.2/2.4 only 32-bit x86 and IA64 are supported; in Linux 2.6 there is wider support: x86 (32 and 64 bit), DEC Alpha, MIPS, ARM, sparc64, ppc64, AVR32.

Call graphs are supported only on x86 and ARM.

In 2012 two IBM engineers recognized OProfile as one of the two most commonly used performance counter monitor profiling tools on Linux, alongside perf tool.[2]

User-space tools[edit]

  • opcontrol is used to start and stop the daemon, which collects profiling data. This data is periodically saved to the /var/lib/oprofile/samples directory.
  • opreport shows basic profiling data. 'opannotate' can produce annotated sources or assembly.
  • opgprof converts from oprofile data into gprof-compatible format.[3]

Example:

 opcontrol ---start ( If there are any issues in starting like --vm-linux just follow the instructions)

 run <example>

 opcontrol --dump

 opreport -l <example> > <outputfile>

 opcontrol --stop (stops collecting the data)

 opcontrol --shutdown (Stops the demon)

 opcontrol --reset (clears the profile data which was stored in the sample file given)

See also[edit]

References[edit]

  1. ^ Interview: John Levon, 11 Nov 2001 // KernelTrap: "John Levon, the author of OProfile"
  2. ^ Netto, Adhemerval Zanella; Arnold, Ryan S. (2012-06-12). "Evaluate performance for Linux on POWER: Analyze performance using Linux tools". developerWorks. IBM DeveloperWorks Technical library. IBM. Retrieved 2014-10-21. "The two most commonly-used tools for PCM profiling on Linux are OProfile and perf [...]." 
  3. ^ http://oprofile.sourceforge.net/doc/tools-overview.html

External links[edit]