Jump to content

OProfile

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by PamD (talk | contribs) at 08:38, 12 August 2012 (stub-sort). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Original author(s)John Levon
Initial release2001
Written inC
Operating systemLinux
Platformcross-platform
Typeprofiler
LicenseGPL
Websitehttp://oprofile.sourceforge.net/news/

OProfile - system-wide statistical profiling tool for Linux. Written by John Levon in 2001 for Linux kernel version 2.4 after his M.Sc. project.[1] Consists of kernel module, user-space daemon and several user-space tools.

This tool is capable of profiling entire system or its parts, from interrupt routines or drivers, to user-space processes. It has low overhead.

Most portable mode of oprofile uses system timer to generate sampling interrupts (events). Less portable mode allows Hardware performance counters to be used for sampling events generation 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 it was recognized by IBM's engineers as one of two most commonly-used Performance Counter Monitors profiling tools on Linux; the other was perf tool.[2]

User-space tools

'opcontrol' is used to start and stop daemon, which collects profiling data. This data periodically saved to system directory in the /var/lib/oprofile/samples.

'opreport' shows basic profiling data. 'opannotate' can produce annotated sources or assembly. 'opgprof' is converter from oprofile data into gprof-compatible format.[3]

References

  1. ^ Interview: John Levon, 11 Nov 2001 // KernelTrap: "John Levon, the author of OProfile"
  2. ^ A. Zanella, R. Arnold. Evaluate performance for Linux on POWER. Analyze performance using Linux tools, 12 Jun 2012 // IBM DeveloperWorks Technical library
  3. ^ http://oprofile.sourceforge.net/doc/tools-overview.html

See also