operf [ options ]
ocount [ options ]
opreport [ options ] [ profile specification ]
opannotate [ options ] [ profile specification ]
oparchive [ options ] [ profile specification ]
opgprof [ options ] [ profile specification ]
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.
operf is a performance profiler tool for Linux.
ocount is an event counting tool for Linux.
opreport gives image and symbol-based profile summaries for
the whole system or a subset of binary images.
opannotate can produce annotated source or mixed source and
assembly output.
oparchive produces oprofile archive for offline
analysis
opgprof can produce a gprof-format profile for a single
binary.
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 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/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.
No special environment variables are recognized by OProfile.
- /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.
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.
John Levon <levon@movementarian.org> is the primary author.
See the documentation for other contributors.