Man Linux: Main Page and Category List

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.