OProfile explained

OProfile
Author:John Levon
Released:2001
Latest Release Version:1.4.0
Programming Language:C
Operating System:Linux
Platform:Cross-platform
Genre:Profiler
License:GPL

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.

Details

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

The most widely supported kernel mode of 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.

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]

In 2021, OProfile is set to be removed from version 5.12 of the Linux kernel, with the user-space tools continuing to work by using the kernel's perf system.[3]

User-space tools

Example:

See also

External links

Notes and References

  1. http://kerneltrap.org/node/4 Interview: John Levon
  2. Web site: Evaluate performance for Linux on POWER: Analyze performance using Linux tools. Netto. Adhemerval Zanella. Arnold. Ryan S.. 2012-06-12. developerWorks. IBM DeveloperWorks Technical library. IBM. 2014-10-21. The two most commonly-used tools for PCM profiling on Linux are and [...]..
  3. Web site: OProfile Kernel Code Slated for Removal in Linux 5.12 - Phoronix.
  4. Web site: 4. Tools summary. oprofile.sourceforge.io.