---
name: "pmkstat"
section: "1"
platform: "linux"
package: "pcp"
version: "2.7.4-20080507"
release: "Debian 5.0 (Lenny)"
platforms: ["linux"]
url: "https://new.carta.tech/pmkstat"
---

# pmkstat(1)

high-level system performance overview

}

## NAME

**pmkstat** - high-level system performance overview

## SYNOPSIS

**pmkstat** \[**-A** *align*\] \[**-a** *archive*\] \[**-d**\] \[**-h** *host*\] \[**-L**\] \[**-n** *pmnsfile*\] \[**-O** *offset*\] \[**-S** *starttime*\] \[**-s** *samples*\] \[**-T** *endtime*\] \[**-t** *interval*\] \[**-Z** *timezone*\] \[**-z**\]

## DESCRIPTION

**pmkstat** provides a one line summary of system performance every *interval* unit of time (the default is 5 seconds). **pmkstat** is intended to monitor system performance at the highest level, after which other tools may be used to examine subsystems in which potential performance problems may be observed in greater detail.

The **-t** option may be used to change the default reporting *interval*. The *interval* argument follows the syntax described in [**PCPIntro**(1)](/PCPIntro/1.md), and in the simplest form may be an unsigned integer (the implied units in this case are seconds).

By default, **pmkstat** fetches metrics by connecting to the Performance Metrics Collector Daemon (PMCD) on the local host.  If the **-L** option is specified, then [**pmcd**(1)](/pmcd/1.md) is bypassed and root privileges are required to retrieve the required metrics directly. In this case, metrics are fetched from the local host using the standalone **PM\_CONTEXT\_LOCAL** variant of [**pmNewContext**(3)](/pmNewContext/3.md). When the **-h** option is specified, **pmkstat** connects to the [**pmcd**(1)](/pmcd/1.md) on *host* and fetches metrics from there.

Alternatively, if the **-a** option is used, the metrics are retrieved from the Performance Co-Pilot archive log files identified by the base name *archive*.

Standalone mode can only connect to the local host, using an archive implies a host name, and nominating a host precludes using an archive, so the options **-L**, **-a** and **-h** are mutually exclusive.

Normally **pmkstat** operates on the default Performance Metrics Name Space (PMNS), however if the **-n** option is specified an alternative namespace is loaded from the file *pmnsfile*.

If the **-s** the option is specified,  *samples* defines the number of samples to be retrieved and reported. If *samples* is 0 or **-s** is not specified,  **pmkstat** will sample and report continuously - this is the default behavior.

The **-S**, **-T**, **-O** and **-A** options may be used to define a time window to restrict the samples retrieved, set an initial origin within the time window, or specify a \`\`natural'' alignment of the sample times; refer to [**PCPIntro**(1)](/PCPIntro/1.md) for a complete description of these options.

Also when using archives, the **-d** option requests that the prevailing real-time delay be applied between samples (see **-t**) to effect a pause, rather than the default behavior of replaying at full speed.

The output from **pmkstat** is directed to standard output, and the columns in the report are interpreted as follows:

- **runq**

  Average number of runnable processes in main memory (**run**) and in swap memory (**swp**) during the interval.

- **memory**

  The **free** column indicates average free memory during the interval, in Kbytes. The **page** column is the average number of page out operations per second during the interval. I/Os caused by these page out operations are included in the write I/O rate (see **disks**, below).

- **system**

  System call rate (**scall**), context switch rate (**ctxsw**) and interrupt rate (**intr**). Rates are expressed as average operations per second during the interval.

- **disks**

  Aggregated physical read (**rd**) and write (**wr**) rates over all disks, expressed as physical I/Os issued per second during the interval.

- **cpu**

  Percentage of CPU time spent executing user code (**usr**), system and interrupt code (**sys**), idle loop (**idl**) and idle waiting for resources, typically disk I/O (**wt**).

-

  The meanings of **idl** and **wt** changed in the IRIX 6.5.13 release. For details, see the **-U** section of the [**sar**(1)](/sar/1.md) man page.

If any values for the associated performance metrics are unavailable, the value appears as \`\`?'' in the output.

By default, **pmkstat** reports the time of day according to the local timezone on the system where **pmkstat** is run. The **-Z** option changes the timezone to *timezone* in the format of the environment variable **TZ** as described in [**environ**(5)](/environ/5.md). The **-z** option changes the timezone to the local timezone at the host that is the source of the performance metrics, as identified via either the **-h** or **-a** options.

## NOTES

The interrupt (**intr**) rate includes the high frequency clock (and possibly some video-related and/or audio-related interrupts), and differs widely, even on idle systems, depending upon the hardware configuration. A more useful measure would be the delta above the quiescent interrupt rate on an idle system, but we have no way of measuring this.

## FILES

- **$PCP\_VAR\_DIR/pmns/***\**

  default PMNS specification files

- **$PCP\_VAR\_DIR/config/pmlogger/config.pmkstat**

  [**pmlogger**(1)](/pmlogger/1.md) configuration for creating an archive suitable for replay with **pmkstat**

## 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**(4)](/pcp.conf/4.md).

## SEE ALSO

[**PCPIntro**(1)](/PCPIntro/1.md), [**pmclient**(1)](/pmclient/1.md), [**PMAPI**(3)](/PMAPI/3.md), [**pmNewContext**(3)](/pmNewContext/3.md), [**pcp.conf**(4)](/pcp.conf/4.md) and [**pcp.env**(4)](/pcp.env/4.md).

## DIAGNOSTICS

All are generated on standard error, and are intended to be self-explanatory.
