OProfile: Difference between revisions
m change dash to double hyphen. |
No edit summary |
||
Line 11: | Line 11: | ||
| released = 2001 |
| released = 2001 |
||
| discontinued = |
| discontinued = |
||
| latest release version = |
| latest release version = 0.9.8 |
||
| latest release date = |
| latest release date = {{Start date and age|2012|8|27}} |
||
| latest preview version = |
| latest preview version = |
||
| latest preview date = <!-- {{Start date and age|YYYY|MM|DD|df=yes/no}} --> |
| latest preview date = <!-- {{Start date and age|YYYY|MM|DD|df=yes/no}} --> |
||
| frequently updated = <!-- DO NOT include this parameter unless you know what it does --> |
| frequently updated = <!-- DO NOT include this parameter unless you know what it does --> |
||
| programming language = C |
| programming language = C |
||
| operating system = Linux |
| operating system = [[Linux]] |
||
| platform = cross-platform |
| platform = cross-platform |
||
| size = |
| size = |
||
Line 23: | Line 23: | ||
| status = |
| status = |
||
| genre = profiler |
| genre = profiler |
||
| license = GPL |
| license = [[GPL]] |
||
| website = http://oprofile.sourceforge.net/news/ |
| website = {{url|http://oprofile.sourceforge.net/news/}} |
||
}} |
}} |
||
'''OProfile''' is a system-wide [[statistical]] [[Profiling (computer programming)|profiling tool]] for [[Linux]]. Written by John Levon in 2001 for [[Linux kernel]] version 2.4 after his M.Sc. project.<ref>[http://kerneltrap.org/node/4 Interview: John Levon], 11 Nov 2001 // KernelTrap: "John Levon, the author of OProfile"</ref> Consists of a [[Kernel (computing)|kernel]] module, [[user-space]] [[daemon (Unix)|daemon]] and several user-space tools. |
'''OProfile''' is a system-wide [[statistical]] [[Profiling (computer programming)|profiling tool]] for [[Linux]]. Written by John Levon in 2001 for [[Linux kernel]] version 2.4 after his M.Sc. project.<ref>[http://kerneltrap.org/node/4 Interview: John Levon], 11 Nov 2001 // KernelTrap: "John Levon, the author of OProfile"</ref> Consists of a [[Kernel (computing)|kernel]] module, [[user-space]] [[daemon (Unix)|daemon]] and several user-space tools. |
||
Line 66: | Line 66: | ||
==External links== |
==External links== |
||
* http://oprofile.sourceforge.net/news/ |
* {{Official|http://oprofile.sourceforge.net/news/}} |
||
* W. Cohen, [http://people.redhat.com/wcohen/Oprofile.pdf Tuning programs with OProfile] // Wide Open Magazine, 2004, pages 53–62 |
* W. Cohen, [http://people.redhat.com/wcohen/Oprofile.pdf Tuning programs with OProfile] // Wide Open Magazine, 2004, pages 53–62 |
||
* Prasanna Panchamukhi, [http://www.ibm.com/developerworks/linux/library/l-oprof/index.html Smashing performance with OProfile. Identifying performance bottlenecks in real-world systems] // IBM DeveloperWorks, Technical Library, 16 Oct 2003 |
* Prasanna Panchamukhi, [http://www.ibm.com/developerworks/linux/library/l-oprof/index.html Smashing performance with OProfile. Identifying performance bottlenecks in real-world systems] // IBM DeveloperWorks, Technical Library, 16 Oct 2003 |
Revision as of 08:29, 21 April 2013
Original author(s) | John Levon |
---|---|
Initial release | 2001 |
Stable release | 0.9.8
/ August 27, 2012 |
Written in | C |
Operating system | Linux |
Platform | cross-platform |
Type | profiler |
License | GPL |
Website | oprofile |
OProfile is a 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 a kernel module, user-space daemon and several user-space tools.
This tool is capable of profiling an 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 generationed 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 monitor profiling tools on Linux; the other was perf tool.[2]
User-space tools
- 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
References
- ^ Interview: John Levon, 11 Nov 2001 // KernelTrap: "John Levon, the author of OProfile"
- ^ A. Zanella, R. Arnold. Evaluate performance for Linux on POWER. Analyze performance using Linux tools, 12 Jun 2012 // IBM DeveloperWorks Technical library
- ^ http://oprofile.sourceforge.net/doc/tools-overview.html
External links
- 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"