|
NAME | SYNOPSIS | DESCRIPTION | INSTALLATION | FILES | PCP ENVIRONMENT | SEE ALSO | COLOPHON |
|
PMDAPAPI(1) General Commands Manual PMDAPAPI(1)
pmdapapi - papi performance metrics domain agent (PMDA)
$PCP_PMDAS_DIR/pmdapapi [-d domain] [-l logfile]
pmdapapi is a papi Performance Metrics Domain Agent (PMDA) which
exposes hardware performance counters via the library Performance API
(PAPI).
The metrics exported by the papi PMDA report values gathered from the
hardware counters and metrics available, as reported by papi.
Currently, only root users may access such metrics.
A brief description of the pmdapapi command line options follows:
-d It is absolutely crucial that the performance metrics domain
number specified here is unique and consistent. That is, domain
should be different for every PMDA on the one host, and the same
domain number should be used for the same PMDA on all hosts.
-l Location of the log file. By default, a log file named papi.log
is written in the current directory of pmcd(1) when pmdapapi is
started, i.e. $PCP_LOG_DIR/pmcd. If the log file cannot be
created or is not writable, output is written to the standard
error instead.
Performance counters are activated automatically as they are fetched
cyclically (such as via pmval(1) or pmlogger(1)). This automatic
activation is temporary, and lasts only a number of seconds governed
by the papi.control.auto_enable control value (default 120). In the
case automatic activation is undesirable, one may disable it by
setting the papi.control.auto_enable metric to 0.
Alternately, the pmstore(1) command can be used to permanently enable
tracking particular metrics, or stop them on demand. Using the
papi.control.enable and papi.control.disable metrics, one may set the
metrics you wish to track using a space or comma separated list.
Writing to the papi.control.reset metric disables all counters
immediately. This may be useful if the system performance counters
are needed for another profiling task.
# pmstore papi.control.enable "TOT_CYC TOT_INS"
papi.control.enable old value="" new value="TOT_CYC TOT_INS"
# pmval papi.system.TOT_CYC
8.371E+04
# pmval papi.system.TOT_INS
2.712E+04
# pmstore papi.control.disable "TOT_CYC,TOT_INS"
papi.control.disable old value="" new value="TOT_CYC,TOT_INS"
Fetching the papi.control.status metric provides an overview of all
active counters.
By default, PAPI multiplexing, which allows support for collecting
more metrics than supported by the hardware concurrently, is enabled.
One may modify the papi.control.multiplex metric to disable
multiplexing by setting it to 0.
Where possible, pmdapapi will expose available native perf and uncore
events on the current hardware. It is not possible to count some
native metrics and preset metrics concurrently.
# true -- automatically-enabled counters
# pmval -s3 papi.system.perf.BRANCH.LOADS
metric: papi.system.perf.BRANCH.LOADS
host: HOSTNAME
semantics: cumulative counter (converting to rate)
units: count (converting to count / sec)
samples: 3
interval: 1.00 sec
7530.
7539.
7543.
# pmval -s3 papi.system.perf.BRANCH.MISSES
metric: papi.system.perf.BRANCH.MISSES
host: HOSTNAME
semantics: cumulative counter (converting to rate)
units: count (converting to count / sec)
samples: 3
interval: 1.00 sec
696.8
590.8
651.8
# true -- quick overview
# pminfo -f papi.control.status
papi.control.status
value "Papi is running, has multiplexing enabled, perf.BRANCH.MISSES(114): 8960, perf.BRANCH.LOADS(110): 158400"
# true -- optional instant disable
# pmstore papi.control.disable "perf.BRANCH.LOADS,perf.BRANCH.MISSES"
papi.control.disable old value="" new value="perf.BRANCH.LOADS,perf.BRANCH.MISSES"
If you want access to the names, help text and values for the papi
performance metrics, do the following as root:
# cd $PCP_PMDAS_DIR/papi
# ./Install
If you want to undo the installation (and remove both PMDAs), do the
following as root:
# cd $PCP_PMDAS_DIR/papi
# ./Remove
pmdapapi is launched by pmcd(1) and should never be executed
directly. The Install and Remove scripts notify pmcd(1) when the
agent is installed or removed.
$PCP_PMCDCONF_PATH
command line options used to launch pmdapapi
$PCP_PMDAS_DIR/papi/help
default help text file for the papi metrics
$PCP_PMDAS_DIR/papi/Install
installation script for the pmdapapi agent
$PCP_PMDAS_DIR/papi/Remove
undo installation script for the pmdapapi agent
$PCP_LOG_DIR/pmcd/sample.log
default log file for error messages and other information
from pmdapapi
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).
PCPIntro(1), pmcd(1), pcp.conf(5) and pcp.env(5).
This page is part of the PCP (Performance Co-Pilot) project.
Information about the project can be found at ⟨http://www.pcp.io/⟩.
If you have a bug report for this manual page, send it to
pcp@groups.io. This page was obtained from the project's upstream
Git repository ⟨https://github.com/performancecopilot/pcp.git⟩ on
2018-02-02. (At that time, the date of the most recent commit that
was found in the repository was 2018-02-02.) If you discover any
rendering problems in this HTML version of the page, or you believe
there is a better or more up-to-date source for the page, or you have
corrections or improvements to the information in this COLOPHON
(which is not part of the original manual page), send a mail to
man-pages@man7.org
Performance Co-Pilot PCP PMDAPAPI(1)