|Original author(s)||John Levon|
1.1.0 / August 3, 2015
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; it consists of a kernel module, a user-space daemon and several user-space tools.
The most widely supported kernel mode of oprofile uses a system timer (See: Gathering profiling events). However, this mode is unable to measure kernel functions where interrupts are disabled. Newer CPU models support a hardware performance counter mode which uses hardware logic to record events without any active code needed. 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.
- 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.
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)
- Interview: John Levon, 11 Nov 2001 // KernelTrap: "John Levon, the author of OProfile"
- 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 [...].
- Official website
- W. Cohen, Tuning programs with OProfile // Wide Open Magazine, 2004, pages 53–62
- Prasanna Panchamukhi, Smashing performance with OProfile. Identifying performance bottlenecks in real-world systems // IBM DeveloperWorks, Technical Library, 16 Oct 2003
- Justin Thiel, An Overview of Software Performance Analysis Tools and Techniques: From GProf to DTrace, (2006) "2.2.2 Overview of Oprofile"