NAME
oprofile - a system-wide profiler
SYNOPSIS
opcontrol [ options ]
opreport [ options ] [ profile specification ]
opannotate [ options ] [ profile specification ]
oparchive [ options ] [ profile specification ]
opgprof [ options ] [ profile specification ]
DESCRIPTION
OProfile is a profiling system for systems running Linux 2.2, 2.4, and
2.6. Profiling runs transparently in the background and profile data
can be collected at any time. OProfile makes use of the hardware
performance counters provided on Intel, AMD, and other processors, and
uses a timer-interrupt based mechanism on CPUs without counters.
OProfile can profile the whole system in high detail.
For a gentle guide to using OProfile, please read the HTML
documentation listed in SEE ALSO.
OPCONTROL
opcontrol is used for starting and stopping the OProfile daemon, and
providing set-up parameters.
OPREPORT
opreport gives image and symbol-based profile summaries for the whole
system or a subset of binary images.
OPANNOTATE
opannotate can produce annotated source or mixed source and assembly
output.
OPARCHIVE
oparchive produces oprofile archive for offline analysis
OPGPROF
opgprof can produce a gprof-format profile for a single binary.
PROFILE SPECIFICATIONS
All of the post-profiling tools can take profile specifications, which
is some combination of the following parameters. Enclosing part of a
profile specification in curly braces { } can be used for differential
profiles with opreport ; the braces must be surrounded by whitespace.
archive:archive
Path to the archive to inspect, as generated by oparchive
session: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/oprofiled,*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.
ENVIRONMENT
No special environment variables are recognised by oprofile.
FILES
$HOME/.oprofile/
Configuration files
/root/.oprofile/daemonrc
Configuration file for opcontrol
/usr/share/oprofile/
Event description files used by OProfile.
/var/lib/oprofile/samples/oprofiled.log
The user-space daemon logfile.
/var/lib/oprofile/opdev, /var/lib/oprofile/ophashmapdev,
/var/lib/oprofile/opnotedev
The device files for communication with the Linux 2.4 kernel
module.
/dev/oprofile
The device filesystem for communication with the Linux 2.6
kernel module.
/var/lib/oprofile/samples/
The location of the generated sample files.
VERSION
This man page is current for oprofile-0.9.6.
SEE ALSO
/usr/share/doc/oprofile/, opcontrol(1), opreport(1), opannotate(1),
oparchive(1), opgprof(1), gprof(1), readprofile(1), CPU vendor
architecture manuals
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.
AUTHORS
John Levon <levon@movementarian.org> is the primary author. See the
documentation for other contributors.