oprofile - a statistical profiler for Linux systems, capable of profiling all running code at low
Contents
Copyright
oprofile is Copyright (C) 1998-2004 University of Manchester, UK, John Levon, and others. OProfile is
released under the GNU General Public License, Version 2, or (at your option) any later version.
Description
OProfile is a profiling system for systems running Linux 2.6.31 and greater. OProfile makes use of the
hardware performance counters provided on Intel, AMD, and other processors. OProfile can profile a
selected program or process or the whole system. OProfile can also be used to collect cumulative event
counts at the application, process, or system level.
For a gentle guide to using OProfile, please read the HTML documentation listed in SEE ALSO.
Environment
No special environment variables are recognized by OProfile.
Files
/usr/share/doc/oprofile/oprofile.html
OProfile user guide.
/usr/share/doc/oprofile/opreport.xsd
Schema file for opreport XML output.
/usr/share/doc/oprofile/ophelp.xsd
Schema file for ophelp XML output.
/usr/share/oprofile/
Event description files used by OProfile.
<session-dir>/samples/operf.log
The profiler log file.
<session-dir>/samples/current
The location of the generated sample files.
Name
oprofile - a statistical profiler for Linux systems, capable of profiling all running code at low
overhead; also included is a set of post-profiling analysis tools, as well as a simple event counting
tool
Ocount
ocount is an event counting tool for Linux.
Opannotate
opannotate can produce annotated source or mixed source and assembly output.
Oparchive
oparchive produces oprofile archive for offline analysis
Operf
operf is a performance profiler tool for Linux.
Opgprof
opgprof can produce a gprof-format profile for a single binary.
Opreport
opreport gives image and symbol-based profile summaries for the whole system or a subset of binary
images.
Profile Specifications
Various optional profile specifications may be used with the post-profiling tools. A profile
specification is some combination of the parameters listed below. ( Note: Enclosing part of a profile
specification in curly braces { } can be used for differential profiles with opreport, but the braces
must be surrounded by whitespace.)
archive:archive
Path to the archive to inspect, as generated by oparchivesession:sessionlist
A comma-separated list of session names to resolve in. Absence of this tag, unlike all others,
means "the current session", equivalent to specifying "session:current".
session-exclude:sessionlist
A comma-separated list of sessions to exclude.
image:imagelist
A comma-separated list of image names to resolve. Each entry may be relative path, glob-style
name, or full path, e.g. opreport 'image:/usr/bin/operf,*op*,./oprofpp'
image-exclude:imagelist
Same as image:, but the matching images are excluded.
lib-image:imagelist
Same as image:, but only for images that are for a particular primary binary image (namely, an
application). This only makes sense to use if you're using --separate. This includes kernel
modules and the kernel when using --separate=kernel.
lib-image-exclude:imagelist
Same as <option>lib-image:</option>, but the matching images are excluded.
event:eventname
The symbolic event name to match on, e.g. event:DATA_MEM_REFS.
count:eventcount
The event count to match on, e.g. event:DATA_MEM_REFS count:30000.
unit-mask:maskvalue
The unit mask value of the event to match on, e.g. unit-mask:1.
cpu:cpulist
Only consider profiles for the given numbered CPU (starting from zero). This is only useful when
using CPU profile separation.
tgid:pidlist
Only consider profiles for the given task groups. Unless some program is using threads, the task
group ID of a process is the same as its process ID. This option corresponds to the POSIX notion
of a thread group. This is only useful when using per-process profile separation.
tid:tidlist
Only consider profiles for the given threads. When using recent thread libraries, all threads in a
process share the same task group ID, but have different thread IDs. You can use this option in
combination with tgid: to restrict the results to particular threads within a process. This is
only useful when using per-process profile separation.
See Also
/usr/share/doc/oprofile/,operf(1),ocount(1),opreport(1),opannotate(1),oparchive(1),opgprof(1),gprof(1),CPUvendorarchitecturemanuals
Synopsis
operf [ options ]
ocount [ options ]
opreport [ options ] [ profile specification ]
opannotate [ options ] [ profile specification ]
oparchive [ options ] [ profile specification ]
opgprof [ options ] [ profile specification ]
Version
This man page is current for oprofile-1.4.0.
