Provided by: pcp_3.8.12ubuntu1_amd64 bug

NAME

       PCPIntro - introduction to the Performance Co-Pilot (PCP)

INTRODUCTION

       The  Performance  Co-Pilot (PCP) is a toolkit designed for monitoring and managing system-
       level performance.  These services are distributed and scalable to  accommodate  the  most
       complex system configurations and performance problems.

       PCP  supports  many  different  platforms,  including  (but not limited to) Linux, MacOSX,
       Solaris and Windows.  From a high-level PCP can be considered to contain  two  classes  of
       software utility:

       PCP Collectors
               These  are the parts of PCP that collect and extract performance data from various
               sources, e.g. the operating system kernel.

       PCP Monitors
               These are the parts of PCP that display data collected from  hosts  (or  archives)
               that  have  the PCP Collector installed.  Many monitor tools are available as part
               of the core PCP release, while other (typically graphical)  monitoring  tools  are
               available separately in the PCP GUI package.

       This  manual  entry  describes  the  high-level  features  and  options common to most PCP
       utilities available on all platforms.

OVERVIEW

       The PCP architecture is distributed in the sense  that  any  PCP  tool  may  be  executing
       remotely.   On  the  host  (or hosts) being monitored, each domain of performance metrics,
       whether the kernel, a service layer, a  database  management  system,  a  web  server,  an
       application,    etc.   requires  a  Performance  Metrics  Domain  Agent  (PMDA)  which  is
       responsible for collecting performance measurements  from  that  domain.   All  PMDAs  are
       controlled by the Performance Metrics Collector Daemon (pmcd(1)) on the same host.

       Client  applications (the monitoring tools) connect to pmcd(1), which acts as a router for
       requests, by forwarding requests to the appropriate PMDA and returning  the  responses  to
       the  clients.   Clients may also access performance data from a PCP archive (created using
       pmlogger(1)) for retrospective analysis.

   Security philosophy
       PCP redistributes a wealth of  performance  information  within  a  host  and  across  its
       networks.   The  following  security  philosophy underlies the setting of several defaults
       that control how much information is sent and received.

       By default, the information exposed by PMCD about a host  is  approximately  of  the  same
       level of confidentiality as available to a completely unprivileged user on that host.  So,
       performance data that is available to be read completely freely on a machine may  be  made
       available by PMCD to the network.

       However,  the  host  running  PMCD  and  its  network  is not assumed to run only friendly
       applications.  Therefore, write type operations, including from the local  host,  are  not
       permitted by default.

       These  defaults  may  be  overridden  (expanded  or reduced) in several ways, including by
       specifying network ACLs in pmcd.conf, activating  non-default  PMDAs,  or  by  using  PMCD
       connections  that  pass  user  credentials.  For example, some PMDAs automatically provide
       greater information for particular credentialed users or groups.

   Applications
       The following performance monitoring applications are primarily console  based,  typically
       run  directly from the command line, and are just a small subset of the tools available as
       part of the base PCP package.

       Each tool or command is documented completely in its own reference page.

       pmstat Outputs an ASCII high-level summary of system performance.

       pmie   An inference engine that can evaluate predicate-action rules to perform alarms  and
              automate system management tasks.

       pminfo Interrogate specific performance metrics and the metadata that describes them.

       pmlogger
              Generates  PCP  archives  of  performance  metrics  suitable for replay by most PCP
              tools.

       pmval  Simple periodic reporting for some or all instances of a performance  metric,  with
              optional VCR time control.

       If the PCP GUI package is installed then the following additional tools are available.

       pmchart
              Displays  trends  over time of arbitrarily selected performance metrics from one or
              more hosts.

       pmtime Time control utility for coordinating the time between  multiple  tools  (including
              pmchart and pmval).

       pmdumptext
              Produce ASCII reports for arbitrary combinations of performance metrics.

COMMON COMMAND LINE ARGUMENTS

       There  is  a  set  of common command line arguments that are used consistently by most PCP
       tools.

       -a archive
              Performance metric information is retrospectively retrieved  from  the  Performance
              Co-Pilot (PCP) archive, previously generated by pmlogger(1).  The -a and -h options
              are mutually exclusive.

              archive is either the base name common to all of the physical files created  by  an
              instance  of  pmlogger(1),  or any one of the physical files, e.g.  myarchive (base
              name) or myarchive.meta (the metadata file) or myarchive.index (the temporal index)
              or   myarchive.0   (the  first  data  volume  of  archive)  or  myarchive.0.bz2  or
              myarchive.0.bz (the first data volume compressed with bzip2(1))  or  myarchive.0.gz
              or  myarchive.0.Z or myarchive.0.z (the first data volume compressed with gzip(1)),
              myarchive.1 or myarchive.3.bz2 or myarchive.42.gz etc.

       -a archive[,archive,...]
              An alternate form of -a for applications that are able to handle multiple archives.

       -h hostname
              Unless directed to another host by the -h option,  or  to  an  archive  by  the  -a
              option, the source of performance metrics will be the Performance Metrics Collector
              Daemon (PMCD) on the local host.  Refer to  the  PMCD  HOST  SPECIFICATION  section
              later  for  further details on the many options available when forming the hostname
              specification, as well  as  a  detailed  description  of  the  default  local  host
              connection.  The -a and -h options are mutually exclusive.

       -s samples
              The  argument  samples  defines the number of samples to be retrieved and reported.
              If samples is 0 or -s is not specified, the  application  will  sample  and  report
              continuously  (in  real  time mode) or until the end of the PCP archive (in archive
              mode).

       -z     Change the reporting timezone to the local timezone at the host that is the  source
              of the performance metrics, as identified via either the -h or -a options.

       -Z timezone
              By  default, applications report the time of day according to the local timezone on
              the system where the application is executed.  The -Z option changes  the  timezone
              to  timezone  in  the  format  of  the  environment  variable  TZ  as  described in
              environ(5).

INTERVAL SPECIFICATION AND ALIGNMENT

       Most PCP tools operate with periodic sampling or reporting, and the -t and -A options  may
       be  used  to  control  the duration of the sample interval and the alignment of the sample
       times.

       -t interval
              Set the update or reporting interval.

              The interval argument is specified as a sequence of one or  more  elements  of  the
              form
                        number[units]
              where  number is an integer or floating point constant (parsed using strtod(3)) and
              the optional units is one of: seconds, second, secs, sec, s, minutes, minute, mins,
              min, m, hours, hour, h, days, day and d.  If the unit is empty, second is assumed.

              In  addition,  the  upper  case (or mixed case) version of any of the above is also
              acceptable.

              Spaces anywhere in the interval  are  ignored,  so  4  days  6  hours  30  minutes,
              4day6hour30min, 4d6h30m and 4d6.5h are all equivalent.

              Multiple  specifications  are additive, e.g. ``1hour 15mins 30secs'' is interpreted
              as 3600+900+30 seconds.

       -A align
              By default samples are not necessarily aligned on any natural unit of time.  The -A
              option  may  be used to force the initial sample to be aligned on the boundary of a
              natural time unit.  For example -A 1sec, -A 30min and -A 1hour specify alignment on
              whole seconds, half and whole hours respectively.

              The  align argument follows the syntax for an interval argument described above for
              the -t option.

              Note that alignment occurs by advancing the time as required, and that -A acts as a
              modifier  to  advance  both the start of the time window (see the next section) and
              the origin time (if the -O option is specified).

TIME WINDOW SPECIFICATION

       Many PCP tools are designed to operate in some time window of interest, e.g. to  define  a
       termination  time  for real-time monitoring or to define a start and end time within a PCP
       archive log.

       In the absence of the -O and -A options to specify an initial sample time origin and  time
       alignment  (see above), the PCP application will retrieve the first sample at the start of
       the time window.

       The following options may be used to specify a time window of interest.

       -S starttime
              By default the time window commences immediately in real-time  mode,  or  coincides
              with  time  at the start of the PCP archive log in archive mode.  The -S option may
              be used to specify a later time for the start of the time window.

              The starttime parameter may be given in one of three forms (interval is the same as
              for the -t option as described above, ctime is described below):

              interval
                     To  specify  an  offset  from  the  current  time (in real-time mode) or the
                     beginning of a PCP archive (in archive mode) simply specify the interval  of
                     time  as  the argument.  For example -S 30min will set the start of the time
                     window to be exactly 30 minutes from now in real-time mode,  or  exactly  30
                     minutes from the start of a PCP archive.

              -interval
                     To  specify an offset from the end of a PCP archive log, prefix the interval
                     argument with a minus sign.  In this case, the  start  of  the  time  window
                     precedes  the time at the end of archive by the given interval.  For example
                     -S -1hour will set the start of the time  window  to  be  exactly  one  hour
                     before the time of the last sample in a PCP archive log.

              @ctime To specify the calendar date and time (local time in the reporting timezone)
                     for the start of the time window, use the ctime(3) syntax preceded by an  at
                     sign.  For example -S '@ Mon Mar 4 13:07:47 1996'

       -T endtime
              By  default  the end of the time window is unbounded (in real-time mode) or aligned
              with the time at the end of a PCP archive log (in archive mode).  The -T option may
              be used to specify an earlier time for the end of the time window.

              The  endtime  parameter may be given in one of three forms (interval is the same as
              for the -t option as described above, ctime is described below):

              interval
                     To specify an offset from the start  of  the  time  window  simply  use  the
                     interval  of time as the argument.  For example -T 2h30m will set the end of
                     the time window to be 2 hours and 30 minutes after the  start  of  the  time
                     window.

              -interval
                     To  specify  an  offset  back from the time at the end of a PCP archive log,
                     prefix the interval argument with a minus sign.  For example  -T  -90m  will
                     set  the end of the time window to be 90 minutes before the time of the last
                     sample in a PCP archive log.

              @ctime To specify the calendar date and time (local time in the reporting timezone)
                     for  the  end  of the time window, use the ctime(3) syntax preceded by an at
                     sign.  For example -T '@ Mon Mar 4 13:07:47 1996'

       -O origin
              By default samples are fetched from the start of the time window  (see  description
              of -S option) to the end of the time window (see description of -T option).  The -O
              option allows the specification of an origin within the time window to be  used  as
              the initial sample time.  This is useful for interactive use of a PCP tool with the
              pmtime(1) VCR replay facility.

              The origin argument accepted by -O conforms to the same syntax and semantics as the
              starttime argument for the -T option.

              For  example  -O -0 specifies that the initial position should be at the end of the
              time window; this is most useful when wishing to replay  ``backwards''  within  the
              time window.

       The  ctime argument for the -O, -S and -T options is based upon the calendar date and time
       format of ctime(3), but may be a fully specified time string like Mon Mar  4 13:07:47 1996
       or a partially specified time like Mar 4 1996, Mar 4, Mar, 13:07:50 or 13:08.

       For any missing low order fields, the default value of 0 is assumed for hours, minutes and
       seconds, 1 for day of the month and Jan for months.  Hence, the following are  equivalent:
       -S '@ Mar 1996' and -S '@ Mar 1 00:00:00 1996'.

       If  any high order fields are missing, they are filled in by starting with the year, month
       and day from the current time (real-time mode) or the time at the  beginning  of  the  PCP
       archive  log  (archive  mode)  and advancing the time until it matches the fields that are
       specified.  So, for example if the time window starts by default at ``Mon Mar  4  13:07:47
       1996'',  then  -S  @13:10  corresponds  to  13:10:00  on  Mon Mar 4, 1996, while -S @10:00
       corresponds to 10:00:00 on Tue Mar 5, 1996 (note this is the following day).

       For greater precision than afforded by ctime(3), the seconds component may be  a  floating
       point number.

       Also the 12 hour clock (am/pm notation) is supported, so for example 13:07 and 1:07 pm are
       equivalent.

PERFORMANCE METRICS - NAMES AND IDENTIFIERS

       The number of performance metric names supported by PCP on most platforms ranges from many
       hundreds  to  several  thousand.   The  PCP  libraries  and  applications  use an internal
       identification scheme that unambiguously associates  a  single  integer  with  each  known
       performance  metric.  This integer is known as the Performance Metric Identifier, or PMID.
       Although not a requirement, PMIDs tend to have global consistency across all systems, so a
       particular performance metric usually has the same PMID.

       For  all users and most applications, direct use of the PMIDs would be inappropriate (e.g.
       this would limit the range of accessible metrics, make the code hard  to  maintain,  force
       the  user  interface  to be particularly baroque, etc.).  Hence a Performance Metrics Name
       Space (PMNS) is used to  provide  external  names  and  a  hierarchic  classification  for
       performance  metrics.   A  PMNS is represented as a tree, with each node having a label, a
       pointer to either a PMID (for leaf nodes) or a set of descendent nodes in  the  PMNS  (for
       non-leaf nodes).

       A  node label must begin with an alphabetic character, followed by zero or more characters
       drawn from the alphabetics, the digits and character  `_ยด  (underscore).   For  alphabetic
       characters in a node label, upper and lower case are distinguished.

       By  convention,  the  name  of a performance metric is constructed by concatenation of the
       node labels on a path through the PMNS from the root node to a leaf node, with a ``.''  as
       a  separator.   The  root node in the PMNS is unlabeled, so all names begin with the label
       associated with one of the descendent  nodes  below  the  root  node  of  the  PMNS,  e.g.
       kernel.percpu.syscall.   Typically  (although this is not a requirement) there would be at
       most one name for each PMID in a PMNS.  For example kernel.all.cpu.idle and  disk.dev.read
       are the unique names for two distinct performance metrics, each with a unique PMID.

       Groups  of  related  PMIDs  may  be named by naming a non-leaf node in the PMNS tree, e.g.
       disk.

       The default local PMNS used by pmcd  is  located  at  $PCP_VAR_DIR/pmns/root  however  the
       environment  variable  PMNS_DEFAULT  may  be  set to the full pathname of a different PMNS
       which will then be used as the default local PMNS.

       Most applications do not use the local PMNS directly, but rather import parts of the  PMNS
       as  required  from  the same place that performance metrics are fetched, i.e. from pmcd(1)
       for live monitoring or from a PCP archive for retrospective monitoring.

       To explore the PMNS use pminfo(1), or if the PCP GUI package is installed  the  New  Chart
       and Metric Search windows within pmchart(1).

PERFORMANCE METRIC SPECIFICATIONS

       In   configuration   files   and  (to  a  lesser  extent)  command  line  options,  metric
       specifications adhere to the following syntax rules.

       If the source of performance metrics is real-time from pmcd(1) then the accepted syntax is
                 host:metric[instance1,instance2,...]

       If the source of performance metrics is a PCP archive log then the accepted syntax is
                 archive/metric[instance1,instance2,...]

       The host:, archive/ and [instance1,instance2,...]  components are all optional.

       The , delimiter in the list of instance names may be replaced by white space.

       Special characters in instance names may be escaped by  surrounding  the  name  in  double
       quotes or preceding the character with a backslash.

       White space is ignored everywhere except within a quoted instance name.

       An  empty  instance  is  silently  ignored,  and  in  particular  ``[]'' is the same as no
       instance, while ``[one,,,two]'' is parsed as specifying just the two instances ``one'' and
       ``two''.

       As  a  special  case,  if  the  host  is  the single character ``@'' then this refers to a
       PM_CONTEXT_LOCAL source, see pmNewContext(3).

SECURE PMCD CONNECTIONS

       Since PCP version 3.6.11, a monitor can  explicitly  request  a  secure  connection  to  a
       collector host running pmcd(1) or pmproxy(1) using the PM_CTXFLAG_SECURE context flag.  If
       the PCP Collector host supports this feature - refer to the pmcd.feature.secure metric for
       confirmation  of  this  -  a  TLS/SSL  (Transport  Layer Security or Secure Sockets Layer)
       connection can be established which uses public key cryptography and  related  techniques.
       These  features  aim  to  prevent  eavesdropping and data tampering from a malicious third
       party, as well as providing server-side  authentication  (confident  identification  of  a
       server by a client) which can be used to guard against man-in-the-middle attacks.

       A  secure  pmcd connection requires use of certificate-based authentication.  The security
       features offered by pmcd and pmproxy are implemented using the Network  Security  Services
       (NSS)  APIs  and  utilities.   The  NSS  certutil  tool can be used to create certificates
       suitable for establishing trust between PCP monitor and collector hosts.

       A complete description is beyond the scope of this document, refer to the PCP ENVIRONMENT,
       FILES and SEE ALSO sections for detailed information.  This includes links to tutorials on
       the steps involved in setting up the available security features.

PMCD HOST SPECIFICATION

       In the absence of an explicit host name specification, most  tools  will  default  to  the
       local  host  in  live update mode.  In PCP releases since 3.8.4 onward, this results in an
       efficient local protocol being selected - typically a Unix domain socket.  If this  option
       is used (which can also be explicitly requested via the unix: host specification described
       below), it is important to note that all connections will be automatically  authenticated.
       In  other  words, the credentials of the user invoking a client tool will automatically be
       made available to pmcd(1) and all of its PMDAs, on the users behalf, such that results can
       be customized to the privilege levels of individual users.

       Names of remote hosts running the pmcd(1) daemon can of course also be provided to request
       a remote host be used.  The most basic form of pmcd host specification is  a  simple  host
       name, possibly including the domain name if necessary.  However, this can be extended in a
       number of ways to further refine attributes of the connection made to pmcd.

       The pmcd port number and also optional pmproxy(1) hostname and its  port  number,  can  be
       given  as  part  of  the  host specification, since PCP version 3.0.  These supersede (and
       override) the old-style PMCD_PORT, PMPROXY_HOST and PMPROXY_PORT environment variables.

       The following are valid hostname specifications that specify connections to pmcd  on  host
       nas1.servers.com  with/without  a  list  of ports and with/without a pmproxy(1) connection
       through a firewall.

            $ pcp -h nas1.servers.com:44321,4321@firewall.servers.com:44322
            $ pcp -h nas1.servers.com:44321@firewall.servers.com:44322
            $ pcp -h nas1.servers.com:44321@firewall.servers.com
            $ pcp -h nas1.servers.com@firewall.servers.com
            $ pcp -h nas1.servers.com:44321

       In addition, security attributes and credentials can also  be  specified.   These  include
       username,  an  optional  password  (can  be  given  interactively  and  may  depend on the
       authentication mechanism employed), whether to use secure (encrypted)  or  native  (naked)
       protocol,  and  so  on.  The  previous examples all default to native protocol, and use no
       authentication.  This can be altered, as in the following examples.

            $ pcp -h pcps://nas1.servers.com:44321?username=tanya&method=gssapi
            $ pcp -h pcps://nas2.servers.com@firewalls.r.us?method=plain
            $ pcp -h pcp://nas3.servers.com
            $ pcp -h unix:
            $ pcp -h local:

       The choice of  authentication  method,  and  other  resulting  parameters  like  username,
       optionally  password,  etc, depends on the SASL2 configuration used by each (remote) pmcd.
       Tutorials are available specifying  various  aspects  of  configuring  the  authentication
       module(s) used, these fine details are outside the scope of this document.

       The  final  local: example above is now the default for most tools.  This connection is an
       automatically authenticated local host connection  on  all  platforms  that  support  Unix
       domain  sockets.   No  password is required and authentication is automatic.  This is also
       the most efficient (lowest overhead) communication channel available.

       The difference between unix: and local: is that the former is a strict Unix domain  socket
       specification  (connection  fails if it cannot connect that way), whereas the latter has a
       more forgiving fallback to using localhost (i.e. a regular Inet socket connection is  used
       when Unix domain socket connections are unavailable).

ENVIRONMENT

       In  addition  to the PCP run-time environment and configuration variables described in the
       PCP  ENVIRONMENT  section  below,  the  following  environment  variables  apply  to   all
       installations.

       PCP_CONSOLE
              When  set,  this  changes  the  default console from /dev/tty (on Unix) or CON: (on
              Windows) to be the specified console.  The special value of none  can  be  used  to
              indicate  no  console  is available for use.  This is used in places where console-
              based tools need to interact  with  the  user,  and  in  particular  is  used  when
              authentication is being performed.

       PCP_DERIVED_CONFIG
              When  set,  this  variable  defines the path to a file that contains definitions of
              derived metrics as per the syntax  described  in  pmLoadDerivedConfig(3).   Derived
              metrics  may  be  used  to  extend the available metrics with new (derived) metrics
              using simple arithmetic expressions.

              If  PCP_DERIVED_CONFIG  is  set,  the  derived  metric  definitions  are  processed
              automatically  as  each new source of performance metrics is established (i.e. each
              time a pmNewContext(3) is called) or when requests are made against the PMNS.

       PCP_SECURE_SOCKETS
              When set, this variable forces any monitor tool connections to be established using
              the  certificate-based  secure  sockets  feature.   If  the  connections  cannot be
              established securely, they will fail.

       PCP_SECURE_DB_METHOD
              With secure socket connections, the certificate and key database  is  stored  using
              the sql: method by default.  Use PCP_SECURE_DB_METHOD to override the default, most
              usually setting the value to the empty string (for the older database methods).

       PCP_STDERR
              Many PCP tools support the environment variable PCP_STDERR, which can  be  used  to
              control  where  error  messages are sent.  When unset, the default behavior is that
              ``usage'' messages and option parsing errors are reported on standard error,  other
              messages  after  initial  startup are sent to the default destination for the tool,
              i.e. standard error for ASCII tools, or a dialog for GUI tools.

              If PCP_STDERR is set to the  literal  value  DISPLAY  then  all  messages  will  be
              displayed  in  a  dialog.   This  is used for any tools launched from the a Desktop
              environment.

              If PCP_STDERR is set to any other value, the value is assumed to be a filename, and
              all messages will be written there.

       PMCD_CONNECT_TIMEOUT
              When  attempting  to  connect to a remote pmcd(1) on a machine that is booting, the
              connection attempt could potentially block for a long time until the remote machine
              finishes  its  initialization.   Most  PCP applications and some of the PCP library
              routines will abort and return an error if the connection has not been  established
              after  some  specified  interval  has  elapsed.  The default interval is 5 seconds.
              This may be modified by setting PMCD_CONNECT_TIMEOUT in the environment to  a  real
              number  of seconds for the desired timeout.  This is most useful in cases where the
              remote host is at the  end  of  a  slow  network,  requiring  longer  latencies  to
              establish the connection correctly.

       PMCD_RECONNECT_TIMEOUT
              When  a  monitor  or  client  application  loses  a  connection  to  a pmcd(1), the
              connection may be re-established by calling a service routine in the  PCP  library.
              However,  attempts  to  reconnect  are  controlled  by a back-off strategy to avoid
              flooding the network with reconnection requests.  By default, the  back-off  delays
              are  5,  10,  20,  40  and  80 seconds for consecutive reconnection requests from a
              client (the last delay will be repeated for any further attempts after the  fifth).
              Setting  the  environment variable PMCD_RECONNECT_TIMEOUT to a comma separated list
              of  positive  integers  will  re-define   the   back-off   delays,   e.g.   setting
              PMCD_RECONNECT_TIMEOUT  to ``1,2'' will back-off for 1 second, then attempt another
              connection request every 2 seconds thereafter.

       PMCD_REQUEST_TIMEOUT
              For monitor or client applications connected to pmcd(1), there is a possibility  of
              the  application "hanging" on a request for performance metrics or metadata or help
              text.  These delays may become severe if the system running pmcd  crashes,  or  the
              network    connection    is    lost.    By   setting   the   environment   variable
              PMCD_REQUEST_TIMEOUT to a number of seconds, requests to pmcd  will  timeout  after
              this  number  of seconds.  The default behavior is to be willing to wait 10 seconds
              for a response from every pmcd for all applications.

       PMCD_WAIT_TIMEOUT
              When  pmcd(1)  is  started  from  $PCP_RC_DIR/pcp  then  the  primary  instance  of
              pmlogger(1)  will  be started if the configuration flag pmlogger is chkconfig'ed on
              and pmcd is running and accepting connections.

              The check on pmcd's readiness will wait up to PMCD_WAIT_TIMEOUT seconds.   If  pmcd
              has  a  long  startup time (such as on a very large system), then PMCD_WAIT_TIMEOUT
              can be set to provide a maximum wait longer than the default 60 seconds.

       PMNS_DEFAULT
              If set, then interpreted as the full pathname to be used as the default local  PMNS
              for   pmLoadNameSpace(3).    Otherwise,  the  default  local  PMNS  is  located  at
              $PCP_VAR_DIR/pcp/pmns/root for base PCP installations.

       PCP_COUNTER_WRAP
              Many of the performance metrics exported from PCP  agents  have  the  semantics  of
              counter  meaning  they  are  expected  to  be monotonically increasing.  Under some
              circumstances, one value of these metrics may smaller than the  previously  fetched
              value.   This  can happen when a counter of finite precision overflows, or when the
              PCP agent has been reset or restarted, or when the PCP agent  is  exporting  values
              from   some  underlying  instrumentation  that  is  subject  to  some  asynchronous
              discontinuity.

              The environment variable PCP_COUNTER_WRAP may be set  to  indicate  that  all  such
              cases  of  a  decreasing  ``counter''  should be treated as a counter overflow, and
              hence the values  are  assumed  to  have  wrapped  once  in  the  interval  between
              consecutive  samples.   This  ``wrapping''  behavior was the default in earlier PCP
              versions, but by default has been disabled in PCP release from version 1.3 on.

       PMDA_PATH
              The PMDA_PATH environment variable may be used to modify the search  path  used  by
              pmcd(1)  and  pmNewContext(3)  (for PM_CONTEXT_LOCAL contexts) when searching for a
              daemon or DSO PMDA.  The syntax follows that  for  PATH  in  sh(1),  i.e.  a  colon
              separated    list    of    directories,    and   the   default   search   path   is
              ``/var/pcp/lib:/usr/pcp/lib'', (or ``/var/lib/pcp/lib'' on Linux, depending on  the
              value of the $PCP_VAR_DIR environment variable).

       PMCD_PORT
              The  TPC/IP  port(s)  used by pmcd(1) to create the socket for incoming connections
              and requests, was historically 4321 and more  recently  the  officially  registered
              port  44321;  in  the  current  release, both port numbers are used by default as a
              transitional arrangement.  This may  be  over-ridden  by  setting  PMCD_PORT  to  a
              different port number, or a comma-separated list of port numbers.  If a non-default
              port is used when pmcd is started, then every monitoring application connecting  to
              that  pmcd  must  also  have PMCD_PORT set in their environment before attempting a
              connection.

       The following environment variables are relevant to installations  in  which  pmlogger(1),
       the PCP archive logger, is used.

       PMLOGGER_PORT
              The  environment  variable PMLOGGER_PORT may be used to change the base TCP/IP port
              number used by pmlogger(1) to create the socket to which pmlc(1) instances will try
              and  connect.   The  default  base  port  number is 4330.  When used, PMLOGGER_PORT
              should be set in the environment before pmlogger is executed.

       PMLOGGER_REQUEST_TIMEOUT
              When pmlc(1) connects to  pmlogger(1),  there  is  a  remote  possibility  of  pmlc
              "hanging" on a request for information as a consequence of a failure of the network
              or pmlogger.  By setting the environment  variable  PMLOGGER_REQUEST_TIMEOUT  to  a
              number  of seconds, requests to pmlogger will timeout after this number of seconds.
              The default behavior is to be willing to wait forever  for  a  response  from  each
              request  to  a  pmlogger.  When used, PMLOGGER_REQUEST_TIMEOUT should be set in the
              environment before pmlc is executed.

       If you have the PCP product  installed,  then  the  following  environment  variables  are
       relevant to the Performance Metrics Domain Agents (PMDAs).

       PMDA_LOCAL_PROC
              Use  this variable has been deprecated and it is now ignored.  If the ``proc'' PMDA
              is configured as a DSO for use with pmcd(1) on the  local  host  then  all  of  the
              ``proc''  metrics  will  be  available  to  applications  using  a PM_CONTEXT_LOCAL
              context.

              The previous  behaviour  was  that  if  this  variable  was  set,  then  a  context
              established with the type of PM_CONTEXT_LOCAL will have access to the ``proc'' PMDA
              to retrieve performance metrics about individual processes.

       PMDA_LOCAL_SAMPLE
              Use this variable has been deprecated and it is now  ignored.   If  the  ``sample''
              PMDA  is configured as a DSO for use with pmcd(1) on the local host then all of the
              ``sample'' metrics will be  available  to  applications  using  a  PM_CONTEXT_LOCAL
              context.

              The  previous  behaviour  was  that  if  this  variable  was  set,  then  a context
              established with the type of PM_CONTEXT_LOCAL will have access  to  the  ``sample''
              PMDA if this optional PMDA has been installed locally.

       PMIECONF_PATH
              If  set,  pmieconf(1) will form its pmieconf(5) specification (set of parameterized
              pmie(1) rules) using all valid pmieconf files found below each subdirectory in this
              colon-separated   list   of   subdirectories.    If   not   set,   the  default  is
              $PCP_VAR_DIR/config/pmieconf.

FILES

       /etc/pcp.conf
                 Configuration file for the PCP runtime environment, see pcp.conf(5).
       /etc/pki/nssdb
                 Optionally contains a Network Security Services database with a "PCP  Collector"
                 certificate providing trusted identification for the collector host.
       $HOME/.pcp
                 User-specific  directories  containing  configuration files for customisation of
                 the various monitor tools, such as pmchart(1).
       $HOME/.pki/nssdb
                 A shared Network Security Services (NSS) database directory containing  per-user
                 certificates  identifying  known  valid  remote  pmcd  collector hosts.  The NSS
                 certutil tool is one of several that can be used to maintain this database.
       $PCP_RC_DIR/pcp
                 Script for starting and stopping pmcd(1).
       $PCP_PMCDCONF_PATH
                 Control file for pmcd(1).
       $PCP_PMCDOPTIONS_PATH
                 Command line options passed to pmcd(1) when it is started from  $PCP_RC_DIR/pcp.
                 All  the  command  line  option  lines  should  start with a hyphen as the first
                 character.  This file can also contain environment variable settings of the form
                 "VARIABLE=value".
       $PCP_BINADM_DIR
                 Location of PCP utilities for collecting and maintaining PCP archives, PMDA help
                 text, PMNS files etc.
       $PCP_PMDAS_DIR
                 Parent directory of the installation directory for Dynamic Shared  Object  (DSO)
                 PMDAs.
       $PCP_RUN_DIR/pmcd.pid
                 If  pmcd  is  running, this file contains an ascii decimal representation of its
                 process ID.
       $PCP_LOG_DIR/pmcd
                 Default location of log files for pmcd(1), current directory for running  PMDAs.
                 Archives generated by pmlogger(1) are generally below $PCP_LOG_DIR/pmlogger.
       $PCP_LOG_DIR/pmcd/pmcd.log
                 Diagnostic  and  status  log for the current running pmcd(1) process.  The first
                 place to look when there are problems associated with pmcd.
       $PCP_LOG_DIR/pmcd/pmcd.log.prev
                 Diagnostic and status log for the previous pmcd(1) instance.
       $PCP_LOG_DIR/NOTICES
                 Log of pmcd(1) and PMDA starts, stops, additions and removals.
       $PCP_VAR_DIR/config
                 Contains directories of configuration files for several PCP tools.
       $PCP_SYSCONF_DIR/pmcd/rc.local
                 Local script for controlling PCP boot, shutdown and restart actions.
       $PCP_VAR_DIR/pmns
                 Directory containing the set of PMNS files for all installed PMDAs.
       $PCP_VAR_DIR/pmns/root
                 The ASCII pmns(5) exported by pmcd(1) by default.  This PMNS is be the super set
                 of all other PMNS files installed in $PCP_VAR_DIR/pmns.
       In  addition,  if  the  PCP  product  is installed the following files and directories are
       relevant.
       $PCP_LOG_DIR/NOTICES
              In addition to the pmcd(1) and PMDA activity, may be used to log alarms and notices
              from pmie(1) via pmpost(1).
       $PCP_PMLOGGERCONTROL_PATH
              Control file for pmlogger(1) instances launched from $PCP_RC_DIR/pcp and/or managed
              by pmlogger_check(1) and pmlogger_daily(1) as part  of  a  production  PCP  archive
              collection setup.

PCP ENVIRONMENT

       Environment variables with the prefix PCP_ are used to parameterize the file and directory
       names used by PCP.  On each installation, the file /etc/pcp.conf contains the local values
       for  these  variables.   The  $PCP_CONF  variable  may  be  used to specify an alternative
       configuration file, as described in pcp.conf(5).

SEE ALSO

       pmcd(1),  pmie(1),  pmie_daily(1),  pminfo(1),  pmlc(1),  pmlogger(1),  pmlogger_daily(1),
       pmstat(1), pmval(1), pcp(1), pcp.conf(5), pcp.env(5), and pmns(5).

       If the PCP GUI package is installed, then the following entries are also relevant:
       pmchart(1), pmtime(1), and pmdumptext(1).

       If the secure sockets extensions have been enabled, then the following references are also
       relevant:
       http://oss.sgi.com/projects/pcp/pcp-gui.git/man/html/index.html
       http://www.mozilla.org/projects/security/pki/nss/#documentation
       http://www.mozilla.org/projects/security/pki/nss/tools/certutil.html

       Also refer to  the  books  Performance  Co-Pilot  User's  and  Administrator's  Guide  and
       Performance Co-Pilot Programmer's Guide which can be found at http://techpubs.sgi.com.