Each supported platform has a kernel Performance Metrics Domain Agent
(PMDA) which extracts performance metrics from the kernel of that
platfrom. A variety of platform-specific metrics are available, with
an equally varied set of access mechanisms - typically this involves
special system calls, or reading from files in kernel virtual
filesystems such as the Linux sysfs and procfs filesystems.
The platform kernel PMDA is one of the most critical components of
the PCP installation, and must be as efficient and reliable as
possible. In all installations the default kernel PMDA will be
installed as a shared library and thus executes directly within the
pmcd(1) process. This slightly reduces overheads associated with
querying the metadata and values associated with these metrics (no
message passing is required).
Unlike many other PMDAs, the kernel PMDA exports a number of metric
namespace subtrees, such as kernel, network, swap, mem, ipc, filesys,
nfs, disk and hinv (hardware inventory).
Despite usually running as shared libraries, most installations also
include a stand-alone executable for the kernel PMDA. This is to aid
profiling and debugging activities, with dbpmda(1) for example. In
this case (but not for shared libraries), the following command line
options are available:
-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
[platform].log is written in the current directory of pmcd(1)
when pmda[platform] 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.
-U User account under which to run the agent. The default is the
unprivileged "pcp" account in current versions of PCP, but in
older versions the superuser account ("root") was used by
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).
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
email@example.com. This page was obtained from the project's upstream
Git repository ⟨git://git.pcp.io/pcp⟩ on 2017-03-13. 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
Performance Co-Pilot PCP KERNEL PMDAS(1)