аппаратный счетчик производительности, агент домена метрики производительности (PMDA) (hardware performance counter performance metrics domain agent (PMDA))
Имя (Name)
pmdaperfevent
- hardware performance counter performance metrics
domain agent (PMDA)
Синопсис (Synopsis)
$PCP_PMDAS_DIR/perfevent/pmdaperfevent
[-d
domain] [-l
logfile]
[-U
username] [-i
port] [-p
] [-u
socket] [-6
]
Описание (Description)
pmdaperfevent
is a Performance Metrics Domain Agent (PMDA) that
configures and reads the hardware performance counters using the
Linux kernel perf_event API.
The perfevent
PMDA exports metrics for hardware performance
counters that are configurable from the Linux kernel perf_event
API. The PMDA uses the libpfm4 library to access the hardware
performance counters so any counters that are supported in
libpfm4 should be available. Also included is the ability to
read the Intel RAPL counters via direct MSR access. The PMDA
supports automatically loading different counters for each
hardware architecture. A single configuration file is used to
specify the desired counters for each hardware performance
monitoring unit (PMU). The configuration file allows different
counters to be programmed on different CPUs and supports round-
robin assignment of uncore counters needed for some AMD chips.
The PMDA also counts for events exposed in the kernel via
/sys/bus/event_source/devices directory. The PMU device name and
the event name must be mentioned in the configuration file.
Otherwise, the metric won't be available to monitor through this
PMDA.
The PMDA configures the counters to count events in both user and
kernel mode. This means that the hardware counters are
unavailable to use by normal unprivileged user applications when
they are in use by the PMDA. The PMDA provides a mechanism to
temporarily disable the system-wide counters in order to allow
normal users to be able to use the counters if they wish. See
perfalloc(1) for details.
Note that pmdaperfevent
is affected by the value of the
kernel.perf_event_paranoid setting, which can be adjusted by
sysctl(8).
A brief description of the pmdaperfevent
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
perfevent.log is written in the current directory of pmcd(1)
when pmdaperfevent
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 privileged "root" account.
-i
listen on given port number for connection from pmcd(1)
-p
communicate with pmcd(1) via stdin/stdout
-u
expect pmcd(1) to connect on given unix domain socket
-6
expect pmcd(1) to connect on given ipv6 port (number or
name)
Установка (Installation)
The perfevent
PMDA is not activated by default To install the
PMDA, do the following as root:
# cd $PCP_PMDAS_DIR/perfevent
# ./Install
If you want to undo the installation, do the following as root:
# cd $PCP_PMDAS_DIR/perfevent
# ./Remove
pmdaperfevent
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.
Файлы (Files)
$PCP_PMCDCONF_PATH
command line options used to launch pmdaperfevent
$PCP_PMDAS_DIR/perfevent/perfevent.conf
default configuration file for the PMDA. See
perfevent.conf(5) for detailed information.
$PCP_PMDAS_DIR/perfevent/help
default help text file for the perfevent metrics
$PCP_PMDAS_DIR/perfevent/Install
installation script for the pmdaperfevent
agent
$PCP_PMDAS_DIR/perfevent/Remove
undo installation script for the pmdaperfevent
agent
$PCP_LOG_DIR/pmcd/perfevent.log
default log file for error messages and other information
from pmdaperfevent
UPGRADING
Some metric names have changed starting in version 3.10.8 to
better conform to PMNS conventions. pmlogrewrite(1) can be used
to update old archives. A helper utility,
$PCP_PMDAS_DIR/perfevent/perfevent-makerewrite.pl
will generate a
config file that is suitable for use with pmlogrewrite(1) to
update the metric names in existing archives.
Ошибки (баги) (Bugs)
Each event is placed in its own group and there is no way to
group related events together so they are guaranteed to be
simultaneously active. A workaround for this is to ensure that
the number of configured events is less than or equal to the
number of available hardware counters. This means that the
events will not be time-multiplexed by the kernel and will be
simultaneously active.
Окружение PCP (PCP environment)
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).
Смотри также (See also)
perfalloc(1), perfevent.conf(5), PCPIntro(1), pmcd(1),
pmlogrewrite(1), PMAPI(3), pcp.conf(5), pcp.env(5) and sysctl(8).