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:

Objectives

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:

arraytop 

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

arrayvis 

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

ashtop 

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

clustervis 

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.

dkvis 

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

mpvis 

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

mpimon 

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.

mpivis 

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.

nfsvis 

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.

nodevis 

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

osvis 

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.

oview 

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

pmchart 

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

pmdumpmineset 

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

pmdumptext 

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

pmem 

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

pmgadgets 

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.

pmgcisco 

Monitors interface throughput for Cisco routers using the pmgadgets tool.

pmgcluster 

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.

pmgevctr 

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.

pmgshping 

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

pmgsys 

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.

pmgweb 

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.

pmie 

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.

pmieconf 

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

pminfo 

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

pmkstat 

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

pmlogsummary 

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

pmprobe 

Probes for performance metric availability, values, and instances.

pmsocks 

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

pmtime 

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

pmval 

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.

pmview 

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.

procvis 

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

psmon 

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

routervis 

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

webvis 

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.

weblogvis 

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.

webpingvis 

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.

xbowvis 

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

xlv_vis 

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:

mkaf 

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

mkpmemarch 

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

pmafm 

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.

pmcd 

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.

pmcd_wait 

Waits for pmcd to be ready to accept client connections.

pmdaarray 

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

pmdaash 

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

pmdabrocade 

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

pmdadmf 

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

pmdahippi 

Extracts performance metrics from the HIPPI network interface.

pmdahotproc 

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

pmdamailq 

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

pmdacisco 

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

pmdampi 

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.

pmdasendmail 

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

pmdashping 

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

pmdasummary 

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

pmdatrace 

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

pmdaweblog 

Scans Web-server logs to extract metrics characterizing.

pmdawebping 

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

pmdumplog 

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

pmimport 

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

pmlc 

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.

pmlogcheck 

Performs integrity check for PCP archives.

pmlogconf 

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

pmlogextract 

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

pmlogger 

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

pmtrace 

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

webping 

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:

dkmap 

Creates a map of disk real estate usage.

dkping 

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

dkprobe 

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

hipprobe 

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

memclaim 

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

pcp 

Summarizes that state of a PCP installation.

pmbrand 

Manages the “branded” file of valid PCP licenses.

pmdate 

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

pmdbg 

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

pmerr 

Translates PCP error codes into human-readable error messages.

pmhostname 

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

pmie_check 

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

pmlaunch 

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.

pmlock 

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

pmlogger_* 

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.

pmnewlog 

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

pmnsadd 

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

pmnscomp 

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

pmnsdel 

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

pmnsmerge 

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

pmpost 

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

pmrun 

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

pmsnap 

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

pmstore 

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.