Chapter 1. Introduction to Performance Co-Pilot

This chapter provides an introduction to Performance Co-Pilot (PCP), an overview of its individual components, and conceptual information to help you use this product.

The following sections are included:


Performance Co-Pilot (PCP) provides a range of services that may be used to monitor and manage system performance. These services are distributed and scalable to accommodate the most complex system configurations and performance problems.

For an overview of PCP, read “Introduction to Performance Co-Pilot” in Performance Co-Pilot for IRIX User's and Administrator's Guide.

Overview of Component Software

Performance Co-Pilot (PCP) is composed of text-based tools, optional graphical tools, and related commands. Each tool or command is fully documented by a man page. These man pages are named after the tools or commands they describe, and are accessible through the man command. For example, to see the pminfo(1) man page for the pminfo command, enter this command:

man pminfo

Many PCP tools and commands are accessible from an Icon Catalog on the IRIX desktop, grouped under PerfTools . In the Toolchest Find menu, choose PerfTools; an Icon Catalog appears, containing clickable PCP programs. To bring up a Web-based introduction to Performance Co-Pilot, click the AboutPCP icon.

A list of PCP tools and commands, grouped by functionality, is provided in the following sections.

Performance Monitoring and Visualization

The following tools provide the principal services for the PCP end-user with an interest in monitoring, visualizing, or processing performance information collected either in real time or from PCP archive logs:


Displays the active local and global array sessions for all hosts in the SGI array arrayname.


Displays a three-dimensional (3D) bar chart of CPU, memory, disk, and network utilization for the hosts within the array arrayname .


Displays the top processes in the array session ash on all machines in the array named arrayname.


Displays a set of 3D bargraphs that show user-mode CPU utilization and network traffic for a collection of hosts. It is a front-end wrapper for pmview.


Displays a 3D bar chart showing activity in the disk subsystem. It is a front-end wrapper for pmview.


Displays a 3D bar chart of multiprocessor CPU utilization. It is a front-end wrapper for pmview.


Is a script that launches either pmlogger or pmchart to collect MPI function and communication metrics. It is for an instrumented Message Passing Interface (MPI) application.


Displays a set of 3D bargraphs that show Message Passing Inferface (MPI) performance metrics for a collection of hosts. It is a front-end wrapper for pmview.


Displays a 3D bar chart showing Network File System (NFS) client and server request activity, for systems on which the optional NFS software product has been installed. It is a front-end wrapper for pmview.


Visualizes SGI Origin node statistics on platforms that support this hardware.


Displays 3D bar charts covering many aspects of system performance, including disk use, job load, memory, CPU activity, and network I/O. It is a front-end wrapper for pmview.


Visualizes the performance of SGI 3000 series and SGI 2000 series of systems, showing a dynamic display of node topology and performance.


Displays trends over time for arbitrarily selected performance metrics from one or more hosts, or from one or more performance metric domains.


Is a wrapper for pmdumptext that produces data files suitable for importing into the MineSet data mining product.


Outputs the values of performance metrics collected live or from a PCP archive, as ASCII text.


Reports per-process memory usage statistics. Both virtual size and prorated physical memory usage are reported.


Creates a small window containing a collection of graphical gadgets of assorted type and style, driven by performance metrics supplied by the PCP framework. Any numeric metric can be used to animate a gadget. This command is not normally invoked directly by users.


Monitors interface throughput for Cisco routers using the pmgadgets tool.


Is a miniature operating system performance monitor for multiple hosts. It builds a specification for the pmgadgets tool, which displays a miniature visual overview of CPU, memory, disk, and network activity for a collection of hosts.


Uses pmgadgets to display an animated gadget that reports activity in the CPU and memory subsystems along with selected the R10K/R12K event counters and SGI Origin router metrics.


Monitors service quality and availability as measured by the shping PMDA using the pmgadgets tool.


Determines the hardware configuration of a remote or local system, constructs a suitable specification for a system-level visual monitor, and launches the pmgadgets tool to animate the monitor using IRIX performance metrics.


Is a miniature Web-server performance monitor for multiple hosts. It builds a specification for the pmgadgets tool, which displays a miniature visual overview of a range of Web-server performance metrics including requests per second, bytes transferred, and network errors.


Evaluates predicate-action rules over performance metrics domain, for performance alarms, automated system management tasks, dynamic tuning configuration, and so on. It is an inference engine.


Creates parameterized rules to be used with the PCP inference engine (pmie).


Displays information about arbitrary performance metrics available from PCP, including help text with -T.


Provides a text-based display of metrics that summarize system performance at a high level, suitable for ASCII logs or inquiry over a modem.


Calculates and reports various statistical summaries of the performance metric values from a PCP archive.


Probes for performance metric availability, values, and instances.


Allows the execution of PCP tools through a network firewall system provided sockd services are supported.


Provides a graphical user interface for PCP applications requiring time control. This command is not normally invoked directly by users.


Provides a text-based display of the values for arbitrary instances of a selected performance metric, suitable for ASCII logs or inquiry over a modem.


Supports dynamic displays of clusters of related performance metrics as groups of utilization blocks (or towers) on a common base plane. The pmview tool is a generalized three-dimensional (3D) Open Inventor application. This command is not normally invoked directly by users.


Displays a set of 3D bargraphs showing the CPU utilization of an individual process. It is a front-end wrapper for pmview.


Selects a subset of the actively running processes and launches either pmchart or pmlogger to collect per-process metrics for those processes.


Visualizes SGI Origin router utilization on platforms that support this hardware.


Displays a set of 3D bargraphs that show system-level Web-server activity. The display includes a histogram of Web-page request size, network metrics, CPU, memory, network, and disk utilization. It is a front-end wrapper for pmview.


Displays a set of three-dimensional (3D) bargraphs that show the requests received by a Web server as determined from activity within the server's log files. It shows a histogram of request rates, total requests, and idle time. It is a front-end wrapper for pmview.


Displays a set of 3D bargraphs that show Web-server response times for a collection of hosts. It is a front-end wrapper for pmview.


Visualizes the Crossbow (XBow) packet and error rates on platforms that support this hardware. It is a front-end wrapper for pmview.


Visualizes XLV volume activity and performance.

Collecting, Transporting, and Archiving Performance Information

PCP provides the following tools to support real-time data collection, network transport, and archive log creation services for performance data:


Aggregates an arbitrary collection of PCP archive logs into a folio to be used with pmafm.


Creates a PCP archive suitable for use with the pmem tool.


Interrogates, manages, and replays an archive folio as created by mkaf, or the periodic archive log management scripts, or the record mode of other PCP tools.


Is the Performance Metrics Collection Daemon (PMCD). This daemon must run on each system being monitored, to collect and export the performance information necessary to monitor the system.


Waits for pmcd to be ready to accept client connections.


Uses pmie to collect, aggregate, and summarize performance metrics across all of the hosts of an SGI array.


Extracts array session performance metrics. These metrics represent the IRIX process accounting records, aggregated according to the Array Session Handle (ash) for each process.


Measures the bytes read and written across each port of a Brocade fiber channel switch.


Extracts performance metrics from the Data Migration Facility (DMF) logfiles.


Extracts performance metrics from the HIPPI network interface.


Exports performance metrics from an instance domain of processes restricted to an interesting or “hot” set. It is a PMDA.


Exports performance metrics describing the current state of items in the sendmail queue. It is a PMDA.


Extracts performance metrics from one or more Cisco routers. It is a Performance Metrics Domain Agent (PMDA).


Exports metrics from MPI applications linked with the pcp_mpi shared library. The metrics include counts and accumulated time for selected MPI functions and statistics on MPI buffer usage.


Exports mail activity statistics from sendmail. It is a PMDA.


Exports performance metrics for the availability and quality of service (response-time) for arbitrary shell commands. It is a PMDA.


Derives performance metrics values from values made available by other PMDAs. It is a PMDA.


Exports transaction performance metrics from application processes that use the pcp_trace library. It is a PMDA.


Scans Web-server logs to extract metrics characterizing.


Makes requests for selected Universal Resource Locations (URLs) from Web servers and returns metrics on the response time and status of the requests.


Displays selected state information, control data, and metric values from a PCP archive log created by pmlogger.


Converts arbitrary time-stamped data into a PCP archive. Shipped configurations enable SAR data files from sadc to be translated into PCP archives.


Exercises control over an instance of the PCP archive logger pmlogger, to modify the profile of which metrics are logged and/or how frequently their values are logged.


Performs integrity check for PCP archives.


Creates or modifies pmlogger configuration files for most common logging scenarios. It is an interactive script.


Reads one or more PCP archive logs and creates a temporally merged and reduced PCP archive log as output.


Creates PCP archive logs of performance metrics over time. Many tools accept these PCP archive logs as alternative sources of metrics for retrospective analysis.


Provides a simple command line interface to the trace PMDA and its associated pcp_trace library.


Sends one or more HTTP requests every interval (default is 5) seconds, reporting on timings to connect and receive the HTML header and body.

Operational and Infrastructure Support

PCP provides the following tools to support the PCP infrastructure and assist operational procedures for PCP deployment in a production environment:


Creates a map of disk real estate usage.


Opens the named disk for reading and checks for a response.


Initializes disk performance metrics at boot time for some IRIX versions. It may be called from /etc/init.d/pcp.


Probes the state of the configured HIPPI interfaces. Used by the shping PMDA.


Allocates and holds physical memory, simulating a reduction in physical memory.


Summarizes that state of a PCP installation.


Manages the “branded” file of valid PCP licenses.


Displays the current date and/or time, with an optional offset.


Describes the available facilities and associated control flags. PCP tools include internal diagnostic and debugging facilities that may be activated by run-time flags.


Translates PCP error codes into human-readable error messages.


Reports hostname as returned by gethostbyname. Used in assorted PCP management scripts.


Administration of the Performance Co-Pilot inference engine (pmie).


Contains metrics specification formats and a set of scripts for use by tools that are launching, and being launched by, other tools with no knowledge of each other. It is a configuration directory.


Attempts to acquire an exclusive lock by creating a file with a mode of 0.


Allows you to create a customized regime of administration and management for PCP archive log files. The pmlogger_check, pmlogger_daily, and pmlogger_merge scripts are intended for periodic execution via the cron command.


Performs archive log rotation by stopping and restarting an instance of pmlogger.


Adds a subtree of new names into a PMNS, as used by the components of PCP.


Compiles a PMNS in ASCII format into a more efficient binary representation.


Removes a subtree of names from a PMNS, as used by the components of the PCP.


Merges multiple PMNS files together, as used by the components of PCP.


Appends the text message to the end of the PCP notice board file (/var/adm/pcplog/NOTICES).


Is a graphical utility for launching PCP commands with optional arguments from the IRIX desktop.


Creates performance snapshots suitable for Web publishing from PCP archives using pmsnap. The pmsnap script is intended for periodic execution via the cron command.


Reinitializes counters or assigns new values to metrics that act as control variables. The command changes the current values for the specified instances of a single performance metric.