---
name: "pmsnap"
section: "1"
platform: "linux"
package: "pcp"
version: "7.2.2-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/pmsnap"
---

# pmsnap(1)

generate performance summary snapshot images

## NAME

**pmsnap** - generate performance summary snapshot images

## SYNOPSIS

**$PCP\_BINADM\_DIR/pmsnap** \[**-NV?**\] \[**-c** *configs*\] \[**-C** *dir*\] \[**-f** *format*\] \[**-n** *names*\] \[**-o** *dir*\]

## DESCRIPTION

**pmsnap** is a shell script that is normally run periodically from [**crontab**(1)](/crontab/1.md) to generate graphic images of [**pmchart**(1)](/pmchart/1.md) performance charts. These images can be in any of the supported **pmchart** formats, including *png*, *bmp*, and *jpeg*, and may be incorporated into the content offered by the local web server. By default **pmsnap** generates no textual output unless some error or warning condition is encountered.

**pmsnap** generates images according to its control file, **$PCP\_PMSNAPCONTROL\_PATH** (or **dir/control** if the **-C** option is specified), and uses archives created by [**pmlogger**(1)](/pmlogger/1.md) or PCP archive folios created by [**pmafm**(1)](/pmafm/1.md) and [**pmlogger\_check**(1)](/pmlogger_check/1.md). Before attempting to configure **pmsnap**, it is strongly recommended that **pmlogger** be configured according to the descriptions in [**pmlogger\_daily**(1)](/pmlogger_daily/1.md), [**pmlogger\_check**(1)](/pmlogger_check/1.md) and [**pmlogger**(1)](/pmlogger/1.md).

Once **pmlogger** has been configured, it is necessary to configure **pmsnap** as follows;

- 1\.

  Edit the control file **$PCP\_PMSNAPCONTROL\_PATH**. The syntax of this file is described in the comment at the head of the file and an example is supplied for one and twelve hour "Summary" performance charts for the local host. Suitable arguments for **pmchart** are also described in the comment. The user should consult **pmchart** for further details. Note that when **pmsnap** is run, it globally substitutes the string **LOCALHOSTNAME** with the name of the local host in the control file.

- 2\.

  Test the configuration by running\
   **$PCP\_BINADM\_DIR/pmsnap**. Without any arguments **pmsnap** will process every non-comment line in **$PCP\_PMSNAPCONTROL\_PATH**. The output images will be placed in the files named in the first field of each line in the control file, with the file format appended if necessary. If these file names do not start with **/** or **.** then they are assumed relative to *dir*, as specified with the **-o** option. The default *dir* is the current directory. Note that if **pmlogger** has only been recently started (within about the last 15 minutes), snapshot images may not be produced and no error messages will be issued - the reason is that **pmchart** can not use very short archives and hence, neither can **pmsnap**. For debugging purposes the **-V** flag should be used.

- 3\.

  Add an appropriate entry for **pmsnap** in the **root** user's **crontab**. An example is supplied in **$PCP\_VAR\_DIR/config/pmlogger/crontab**.

- 4\.

  Incorporate the **pmsnap** images into the local WWW content. Usually, WWW pages use images that are relative to a particular document root, so it is often convenient to use the **-o** command line option to specify a sub-directory of the local WWW content, and then create a web page in this directory that shows the snapshot images with text and other content appropriate to the local environment.

A sample HTML page, suitable for the Summary snapshot may be found in **$PCP\_VAR\_DIR/config/pmsnap/Summary.html**.

Although **pmsnap** attempts to flush [**stdio**(3)](/stdio/3.md) output buffers in the relevant **pmlogger** processes before generating snapshots images, this may fail for assorted reasons and no error message will be given.

**pmsnap** should not be invoked immediately after **pmlogger\_daily** has rolled the logs because the new archives will be too short to obtain meaningful results. Note however that **pmsnap** will not report errors from **pmchart** about not being able to comply with the **-A** option on very short archives. In these cases no error will be reported and no output images will be produced.

## OPTIONS

The available command line options are:

- **-c** *config-pattern*

  Only process lines in the control file which match the *config-pattern* regular expression in the **Config** column.

- **-C** *dir*

  The **control** file is located in the directory *dir* rather than in the default **$PCP\_PMSNAPCONTROL\_PATH** location.

- **-f** *format*

  Set output image format. The defaults format is **png**.

- **-n** *name-pattern*

  Only process lines in the control file which match the *name-pattern* regular expression (see [**egrep**(1)](/egrep/1.md)) in the **Name** column.

- **-N**

  Enable a \`\`show me'' mode, where the actions are echoed, but not executed, in the style of \`\`make -n''. Using **-N** in conjunction with **-V** maximizes the diagnostic capabilities for debugging.

- **-o** *dir*

  The output images having file names which do not start with **/** or **.** will be placed in a directory relative to *dir*, otherwise the output directory is relative to the current directory (i.e. the default value for *dir* is **./**). Note that *dir* must be a writable directory path and may be on an NFS or CIFS file system.

- **-V**

  Enable verbose mode.

- **-?**

  Display usage message and exit.

When either **-n** or **-c** are used, **pmsnap** will only process lines in the control file which match all the supplied patterns. If no patterns are given, then all lines will be processed. These arguments allow multiple entries for **pmsnap** in **crontab** so that different performance summary images can be generated at different times or with different frequencies.

## FILES

- *$PCP\_PMSNAPCONTROL\_PATH*

  **pmsnap** control file

- *$PCP\_VAR\_DIR/config/pmsnap/Summary*

  summary view for **pmchart**

- *$PCP\_VAR\_DIR/config/pmsnap/Summary.html*

  sample HTML page for summary snapshot

- *$PCP\_LOG\_DIR/pmlogger/\<hostname\>/Latest*

  PCP archive folio for the host *hostname*, as generated by **pmlogger\_check**

- *$PCP\_VAR\_DIR/config/pmlogger/crontab*

  example **crontab** entry

## SEE ALSO

**cron**(1), [**crontab**(1)](/crontab/1.md), [**egrep**(1)](/egrep/1.md), [**pmafm**(1)](/pmafm/1.md), [**pmchart**(1)](/pmchart/1.md), [**pmlc**(1)](/pmlc/1.md), [**pmlogger**(1)](/pmlogger/1.md) and [**pmlogger\_daily**(1)](/pmlogger_daily/1.md).
