OPROFILE(1) | General Commands Manual | OPROFILE(1) |
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.6 and
greater. 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.
- /dev/oprofile
- The device filesystem for communication with the Linux kernel module.
- /var/lib/oprofile/samples/
- The location of the generated sample files.
VERSION¶
SEE ALSO¶
/usr/share/doc/oprofile-0.9.9/, 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.
Wed 22 March 2017 | 4th Berkeley Distribution |