diff options
Diffstat (limited to 'man/retired/pmdahotproc.1')
-rw-r--r-- | man/retired/pmdahotproc.1 | 315 |
1 files changed, 315 insertions, 0 deletions
diff --git a/man/retired/pmdahotproc.1 b/man/retired/pmdahotproc.1 new file mode 100644 index 0000000..1311529 --- /dev/null +++ b/man/retired/pmdahotproc.1 @@ -0,0 +1,315 @@ +'\"macro stdmacro +.TH PMDAHOTPROC 1 "PCP" "Performance Co-Pilot" +.SH NAME +\f3pmdahotproc\f1 \- Hot Proc performance metrics domain agent (PMDA) +.SH SYNOPSIS +\f3$PCP_PMDAS_DIR/hotproc/pmdahotproc\f1 +[\f3\-C\f1] +[\f3\-d\f1 \f2domain\f1] +[\f3\-l\f1 \f2logfile\f1] +[\f3\-s\f1] +[\f3\-t\f1 \f2interval\f1] +[\f3\-U\f1 \f2username\f1] +\f2configfile\f1 +.br +.SH DESCRIPTION +.B pmdahotproc +is a Performance Metrics Domain Agent (PMDA) which exports +.B proc +performance metrics from an instance domain of processes restricted +to an "interesting" or "hot" set. Unlike the +.B proc +PMDA which has an instance domain equal to the current processes, +.B pmdahotproc +has an instance domain which is a subset of this and is +determined by a configuration file and a refresh interval. +.P +As well as +the +.B proc +metrics, +.B pmdahotproc +provides a \f3cpuburn\f1 metric which specifies the cpu utilization +of the process over the refresh interval, \f3total\f1 metrics which +indicate how much of the cpu that the "interesting" processes are +accounting for, \f3predicate\f1 metrics which show the values of +the reserved variables (see below) that +are being used in the hotproc predicate and \f3control\f1 metrics +for controlling the agent. +.PP +A brief description of the +.B pmdahotproc +command line options follows: +.TP 5 +.B \-C +Parse +.IR configfile , +report any errors and exit. +.TP 5 +.B \-d +It is absolutely crucial that the performance metrics +.I domain +number specified here is unique and consistent. +That is, +.I domain +should be different for every PMDA on the one host, and the same +.I domain +number should be used for the same PMDA on all hosts. +.TP 5 +.B \-l +Location of the log file. By default, a log file named +.I hotproc.log +is written in the current directory of +.BR pmcd (1) +when +.B pmdahotproc +is started, i.e. +.BR $PCP_LOG_DIR/pmcd . +If the log file cannot +be created or is not writable, output is written to the standard error instead. +.TP 5 +.B \-s +With this option, attempts to change the agent configuration by +modifying the values of +\f3hotproc.control.refresh\f1 and \f3hotproc.control.config\f1 using +.BR pmstore(1) +will not be permitted. +Without this option, storing into these \f3hotproc.control\f1 metrics will +be permitted. +.TP 5 +.B \-t +.B pmdahotproc +will regenerate its interesting set of processes using the configuration +predicate, once every +.I interval +period. +The period is specified as a time interval using the syntax +described in +.BR PCPIntro (1). +The default +.I interval +is 60 seconds. +.TP 5 +.B \-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 default. +.SH CONFIGURATION +The configuration file consists of one predicate used to determine if +a process should be in the interesting set or not. +.PP +Example configurations files may be found at +.B $PCP_PMDAS_DIR/hotproc/sample.conf +and +.B $PCP_PMDAS_DIR/hotproc/general.conf . +.PP +The predicate is described +using the language specified below. The symbols are based on those +used by +.BR c (1) +and +.BR awk (1) . +.TP +Boolean Connectives +.B && +(and), +.B || +(or), +.B ! +(not), +.B () +(precedence overriding) +.TP +Number comparators +.B < +, +.B <= +, +.B > +, +.B >= +, +.B == +, +.B != +.TP +String comparators +.B == +, +.B != +.TP +String/Pattern comparators +.B ~ +(string matches pattern) +, +.B !~ +(string does not match pattern) +.TP +Reserved variables +.B uid +(user id; type integer) +.B uname +(user name; type string), +.B gid +(group id; type integer) +.B gname +(group name; type string), +.B fname +(process file name; type string), +.B psargs +(process file name with args; type string), +.B cpuburn +(cpu utilization; type float), +.B iodemand +(I/O demand - Kbytes read/written per second; type float), +.B ctxswitch +(number of context switches per second; type float), +.B syscalls +(number of system calls per second; type float), +.B virtualsize +(virtual size in Kbytes; type float), +.B residentsize +(resident size in Kbytes; type float), +.B iowait +(blocked and raw io wait in secs/sec; type float), +.B schedwait +(time waiting in run queue in secs/sec; type float). +.TP +Literal values +.B 1234 +(positive integer), +.B 0.35 +(positive float), +\f3"foobar"\f1 +(string; delimited by \f3"\f1), +.B /[fF](o)+bar/ +(pattern; delimited by \f3/\f1), +.B true +(boolean), +.B false +(boolean) +.TP +Comments +.B #this is a comment +(from \f3#\f1 to the end of the line). +.TP +Examples + cpuburn > 0.2 # cpu utilization of more than 20% + cpuburn > 0.2 && uname == "root" + cpuburn > 0.2 && (uname == "root" || uname == "hot") + psargs ~ /pmda/ && cpuburn > 0.4 + +.PP +The \f3hotproc.predicate\f1 metrics may be used +to see what the values of the reserved variables are +that were used by the predicate at the last refresh. +They do not cover the reserved variables which are +already exported elsewhere. A \f3hotproc.predicate\f1 metric +may not have a value if it is not referenced in the configuration +predicate. + + +.SH INSTALLATION +If you want access to the names, help text and values for the Hotproc +performance metrics, do the following as root: +.PP +.ft CW +.nf +.in +0.5i +# cd $PCP_PMDAS_DIR/hotproc +# ./Install +.in +.fi +.ft 1 +.PP +If you want to undo the installation, do the following as root: +.PP +.ft CW +.nf +.in +0.5i +# cd $PCP_PMDAS_DIR/hotproc +# ./Remove +.in +.fi +.ft 1 +.PP +.B pmdahotproc +is launched by +.BR pmcd (1) +and should never be executed directly. +The Install and Remove scripts notify +.BR pmcd (1) +when the agent is installed or removed. +.SH FILES +.PD 0 +.TP 10 +.B $PCP_PMCDCONF_PATH +command line options used to launch +.B pmdahotproc +.TP 10 +.B /tmp/pcp.ttymap +tty map file used for hotproc.psinfo.ttyname +.TP 10 +.B $PCP_PMDAS_DIR/hotproc/help +default help text file for the Hotproc metrics +.TP 10 +.B $PCP_PMDAS_DIR/hotproc/Install +installation script for the +.B pmdahotproc +agent +.TP 10 +.B $PCP_PMDAS_DIR/hotproc/Remove +undo installation script for the +.B pmdahotproc +agent +.TP 10 +.B $PCP_PMDAS_DIR/hotproc/sample.conf +simple sample configuration (this is the default one) +.TP 10 +.B $PCP_PMDAS_DIR/hotproc/general.conf +another sample configuration that identifies "interesting" +processes from several different classes. +.TP 10 +.B $PCP_VAR_DIR/config/hotproc/hotproc.conf +predicate configuration file from the most recent installation +of the +.B pmdahotproc +agent +.TP 10 +.B $PCP_LOG_DIR/pmcd/hotproc.log +default log file for error messages and other information from +.B pmdahotproc +.PD +.SH "PCP ENVIRONMENT" +Environment variables with the prefix +.B PCP_ +are used to parameterize the file and directory names +used by PCP. +On each installation, the file +.B /etc/pcp.conf +contains the local values for these variables. +The +.B $PCP_CONF +variable may be used to specify an alternative +configuration file, +as described in +.BR pcp.conf (5). +.SH SEE ALSO +.BR PCPIntro (1), +.BR pmcd (1) +and +.BR pmstore (1). +.SH CAVEATS +Some of the required metrics may not be available on some platforms and these +will generate an error +message on startup. +.P +The values for hotproc.psinfo.ttyname are extracted from +.B /tmp/pcp.ttymap +which is created on the very first fetch of proc.psinfo.ttyname or +hotproc.psinfo.ttyname. +If new tty's are created past the high-water mark in /dev, then +this file will be out of date. To fix this, +.B /tmp/pcp.ttymap +should be removed and pmcd restarted ($PCP_RC_DIR/pcp start); +this will create a new tty map file. |