PMDAOVERHEAD(1)
β¨ PMDAOVERHEAD β¨
okay bestie, gather round, because today we're talking about pmdaoverhead β it's a performance metrics domain agent (a PMDA, say it with me) from the PCP squad, and its whole thing is exporting resource consumption metrics for groups of processes. yes. groups. like a little friend group but for CPU and memory. π
πΈ SYNOPSIS πΈ
$PCP_PMDAS_DIR/overhead/pmdaoverhead [-C] [-c config] [-D debug] [-d domain] [-l logfile] [-R interval]
π DESCRIPTION π
pmdaoverhead is a configurable Performance Metrics Domain Agent (PMDA) for exporting resource consumption for groups of related processes. literally its whole personality. π«Ά
The pmdaoverhead command line options are:
-Cβ parses the configuration file(s) and then dips out, exiting after reporting any errors. no metrics, no drama, just a vibe check on your config. β¨-cβ the configuration file(s), bestie.configcan be either a file or a directory; if it's a directory, then all the files insideconfigare assumed to be configuration files forpmdaoverheadand they will all be processed. all of them. no skipping. π
Each configuration file defines one or more groups'' of processes of interest, using the syntax described in the CONFIGURATION'' section below. (yes that's the next section, keep scrolling π)
By default all configuration files below the $PCP_SYSCONF_DIR/overhead/conf.d/ directory are used.
-dβ It is absolutely crucial that the performance metrics domain number specified here is unique and consistent. That is,domainshould be different for every PMDA on the one host, and the samedomainnumber should be used for the same PMDA on all hosts. like, do not freestyle this one. no cap. π¨-lβ Location of the log file. By default, a log file namedoverhead.logis written in the current directory ofpmcd(1)whenpmdaoverheadis 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.-Rβ The PMDA uses a separate thread to periodically scan all processes to determine which processes are deemed ``interesting'' in each group, and extracting resource consumption for those processes. Theinterval(in seconds) determines how often this scanning and resource calculation is done, the default is60(seconds). sixty seconds of mystery, slay. π
π¦ CONFIGURATION π¦
Each configuration file defines one or more ``groups'' of processes. The file format is simple and follows the following rules.
- Lines beginning with a hash ``#'' are treated as comments. More generally, except for the
pattern:clause described below, all text between a hash and the end of line is treated as a comment. π¬ - White space (spaces or tabs or newlines) are required to separate lexical components. Spaces and tabs are otherwise ignored. Other than terminating comments and the regex in a
pattern:clause, newlines are also ignored. - Each group is introduced by a
groupclause that has the form
group name { parameters }
where name is a unique name for the group across all groups in the pmdaoverhead configuration files. As name becomes embedded in the Performance Metrics Name Space (PMNS) if must follow the rules for metric name components as described in PMNS(5), namely beginning with an alphabetic character, followed by zero or more characters drawn from the alphabetics, numerics and the underscore ``_'' character. so it's giving very specific naming energy. π
- The
parametersmust include oneid:clause and onepattern:clause. - An
id:clause has the form
id: ident
where ident is a unique identifier number for the group across all groups in the pmdaoverhead configuration files. Valid values for ident are in the range 0 to 4094 (inclusive). inclusive besties!! π
- A
pattern:clause has the form
pattern: regex
where regex is an extended regular expression notation in the style of egrep(1). The regex starts at the first non-whitespace character after pattern: and extends to the next newline.
The processes that are considered to be members of the group are those for which the command name, as reported by
$ pminfo -f proc.psinfo.cmd
is matched by regex plus all the descendents of those processes. So for example the regex ^pmcd$ will match pmcd(1) and all the PMDA processes launched by pmcd(1) and any of their children, etc. it's a whole family tree, iconic. π
π INSTALLATION π
If you want access to the names, help text and values for the overhead performance metrics, do the following as root:
# cd $PCP_PMDAS_DIR/overhead
# ./Install
If you want to undo the installation, do the following as root:
# cd $PCP_PMDAS_DIR/overhead
# ./Remove
pmdaoverheadis launched bypmcdand should never be executed directly. TheInstallandRemovescripts notifypmcdwhen the agent is installed or removed. please don't rawdog the binary, it's not that kind of girl. π
π FILES π
$PCP_PMCDCONF_PATHβ command line options used to launchpmdaoverhead$PCP_PMDAS_DIR/overhead/Installβ installation script for thepmdaoverheadagent$PCP_PMDAS_DIR/overhead/Removeβ undo installation script for thepmdaoverheadagent$PCP_LOG_DIR/pmcd/overhead.logβ default log file for error messages and other information frompmdaoverhead$PCP_SYSCONF_DIR/overhead/conf.dβ directory containing configuration files for the overhead metrics
π§ 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). iykyk. π«
π DEBUGGING OPTIONS π
The -D or --debug option enables the output of additional diagnostics on stderr to help triage problems, although the information is sometimes cryptic and primarily intended to provide guidance for developers rather than for end-users. debug is a comma separated list of debugging options; use pmdbg(1) with the -l option to obtain a list of the available debugging options and their meaning. ngl it gets a lil unhinged in there. π
Debugging options specific to pmdaoverhead are as follows:
appl0β configfile parsingappl1βrefresh()start-end timestampsappl2β/procselection inrefresh()
β SEE ALSO β
PCPIntro(1), pmcd(1), pmdaproc(1), pcp.conf(5), pcp.env(5) and PMNS(5).
aaaand that's the whole page bestie π this one comes to you straight from the Performance Co-Pilot crew β it's part of PCP, and you can find it filed under PMDAOVERHEAD(1). go forth and monitor those process friend groups, you absolute main character. β¨π¦π
π¦ where this page comes from
- arch rolling: pcp 7.2.2-2 Β· GPL-2.0-or-later AND LGPL-2.1-or-later AND CC-BY-3.0
- fedora 43: pcp-doc 7.2.1-1.fc43
- fedora 43: pcp-doc 7.2.2-1.fc43
- fedora 43: pcp-doc 7.2.2-2.fc43 Β· GPL-2.0-or-later AND CC-BY-3.0
- fedora 44: pcp-doc 7.2.1-1.fc44
- fedora 44: pcp-doc 7.2.2-1.fc44
- fedora 44: pcp-doc 7.2.2-2.fc44 Β· GPL-2.0-or-later AND CC-BY-3.0
- ubuntu stonking: pcp 7.2.1-2build1
- Copyright (c) 2022 Ken McDonell
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms