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
- 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/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.2.
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.