Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

3.3. Performance Co-Pilot (PCP)

Red Hat Enterprise Linux 7 introduces support for Performance Co-Pilot (PCP), a suite of tools, services, and libraries for acquiring, storing, and analyzing system-level performance measurements. Its light-weight distributed architecture makes it particularly well-suited for centralized analysis of complex systems. Performance metrics can be added using the Python, Perl, C++, and C interfaces. Analysis tools can use the client APIs (Python, C++, C) directly, and rich web applications can explore all available performance data using a JSON interface.
The Performance Co-Pilot Collection Daemon (pmcd) is responsible for collecting performance data on the host system, and various client tools, such as pminfo or pmstat, can be used to retrieve, display, archive, and process this data on the same host or over the network. The pcp package provides the command-line tools and underlying functionality. The graphical tool also requires the pcp-gui package.

Resources

Overview of System Services and Tools Provided by PCP

Performance Co-Pilot (PCP) provides a large number of command-line tools, graphical tools, and libraries. For more information on these tools, see their respective manual pages.

Table 3.1. System Services Distributed with Performance Co-Pilot in Red Hat Enterprise Linux 6

Name Description
pmcd The Performance Co-Pilot Collection Daemon (PMCD).
pmie The Performance Metrics Inference Engine.
pmlogger The performance metrics logger.
pmmgr Manages a collection of PCP daemons for a set of discovered local and remote hosts running the Performance Co-Pilot Collection Daemon (PMCD) according to zero or more configuration directories.
pmproxy The Performance Co-Pilot Collection Daemon (PMCD) proxy server.
pmwebd Binds a subset of the Performance Co-Pilot client API to RESTful web applications using the HTTP protocol.

Table 3.2. Tools Distributed with Performance Co-Pilot in Red Hat Enterprise Linux 6

Name Description
pcp Displays the current status of a Performance Co-Pilot installation.
pmatop Shows the system-level occupation of the most critical hardware resources from the performance point of view: CPU, memory, disk, and network.
pmchart Plots performance metrics values available through the facilities of the Performance Co-Pilot.
pmclient Displays high-level system performance metrics by using the Performance Metrics Application Programming Interface (PMAPI).
pmcollectl Collects and displays system-level data, either from a live system or from a Performance Co-Pilot archive file.
pmdbg Displays available Performance Co-Pilot debug control flags and their values.
pmdiff Compares the average values for every metric in either one or two archives, in a given time window, for changes that are likely to be of interest when searching for performance regressions.
pmdumplog Displays control, metadata, index, and state information from a Performance Co-Pilot archive file.
pmdumptext Outputs the values of performance metrics collected live or from a Performance Co-Pilot archive.
pmerr Displays available Performance Co-Pilot error codes and their corresponding error messages.
pmfind Finds PCP services on the network.
pmie An inference engine that periodically evaluates a set of arithmetic, logical, and rule expressions. The metrics are collected either from a live system, or from a Performance Co-Pilot archive file.
pmieconf Displays or sets configurable pmie variables.
pminfo Displays information about performance metrics. The metrics are collected either from a live system, or from a Performance Co-Pilot archive file.
pmiostat Reports I/O statistics for SCSI devices (by default) or device-mapper devices (with the -x dm option).
pmlc Interactively configures active pmlogger instances.
pmlogcheck Identifies invalid data in a Performance Co-Pilot archive file.
pmlogconf Creates and modifies a pmlogger configuration file.
pmloglabel Verifies, modifies, or repairs the label of a Performance Co-Pilot archive file.
pmlogsummary Calculates statistical information about performance metrics stored in a Performance Co-Pilot archive file.
pmprobe Determines the availability of performance metrics.
pmrep Reports on selected, easily customizable, performance metrics values.
pmsocks Allows access to a Performance Co-Pilot hosts through a firewall.
pmstat Periodically displays a brief summary of system performance.
pmstore Modifies the values of performance metrics.
pmtrace Provides a command line interface to the trace Performance Metrics Domain Agent (PMDA).
pmval Displays the current value of a performance metric.