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

# pmafm(1)

Performance Co-Pilot archive folio manager

## NAME

**pmafm** - Performance Co-Pilot archive folio manager

## SYNOPSIS

**pmafm** *folioname* \[*command* \[*arg* ...\]\]

## DESCRIPTION

A collection of one or more Performance Co-Pilot (PCP) archives may be combined with a control file to produce a PCP archive folio. Archive folios are created using either [**mkaf**(1)](/mkaf/1.md) or the interactive \`\`record mode'' services of PCP clients like [**pmchart**(1)](/pmchart/1.md).

**pmafm** provides a number of services that may be used to process folios. In particular, it provides support for execution of PCP tools using one or more of the component archives within an archive folio.

The target folio is identified by the folio control file *folioname*. The syntax for a folio control file is described in [**mkaf**(1)](/mkaf/1.md).

If present, the command and arguments following *folioname* are interpreted and executed as a single command, otherwise commands are read from standard input.

The following commands are supported.

- **archives**

  Subsequent commands apply to all archives in the folio.

- **archives** *N*\[,...\]

  Archives within a folio are numbered 1, 2, etc. Subsequent commands are restricted to apply only to the designated archives.

- **archives** *name*\[,...\]

  Archives within a folio have unique names. Subsequent commands are restricted to apply only to the designated archives.

- **check**

  Validate the presence and format of each file in the folio and the component archives.

- **help**

  A brief reminder of the command syntax. **?** is a synonym for **help**.

- **hosts**

  Subsequent commands apply to all archives in the folio.

- **hosts** *hostname*\[,...\]

  Subsequent commands are restricted to apply only to those archives that match the designated hostnames.

- **list** \[**verbose**\]

  Display the contents of the folio.  By default the control header and the ordinal number, hostname and archive base name for each archive in the folio. The **verbose** option causes **pmafm** to dump the label record from each archive using **pmlogdump -l**.

-

  The first named archive in the folio is assumed to be associated with the default host for any tool that tries to replay multiple archives from the folio.

- **quit**

  Exit **pmafm**.

- **remove**

  Echo on standard output the [**sh**(1)](/sh/1.md) commands required to remove all of the physical files associated with this archive folio.

- **repeat** *tool* \[*arg* ...\]

  Execute the known PCP *tool* once per selected archive.  For example, the command\
   `repeat pmval -t60 kernel.all.load`\
   `would run` [**pmval**(1)](/pmval/1.md) `once per archive, with an appropriate` **-a** `argument.`

- **replay**

  `Some archive folios are created by tools` `(e.g. `[**pmchart**(1)](/pmchart/1.md)) `that provide` `sufficient information to allow all of the information` `in all of the archives of a folio to be replayed.`

- `[`**run**\] *tool* \[*arg* ...\]

  Execute the known PCP *tool* on the selected archives. Some PCP tools are able to process multiple concurrent archives, and in this case the tool is run once with the list of all selected archives passed via a **-a** argument. Otherwise, this command is synonymous with **repeat**.

- **selections**

  Display those archives that would be selected for processing with a **repeat**, **replay** or **run** command.

The restrictions via any **hosts** and **archives** commands are conjuncted. These restrictions serve to limit the specific archives processed in the subsequent **repeat**, **replay**, **run** and **selections** commands. By default, all archives are selected.

Keywords in commands may be abbreviated provided no ambiguity is introduced, e.g. **help**, **hel** and **he** are synonymous, but **h** is ambiguous.

## FILES

- *$PCP\_VAR\_DIR/config/pmafm/\**

  control files that define the behavior of each PCP tool known to **pmafm**. This information may be customized or extended, see *$PCP\_VAR\_DIR/config/pmafm/pcp* for documentation of the syntax and semantics of these files.

- *$HOME/.pcp/pmafm/\**

  User customization of the control files. All files in this directory are treated in the same manner as control files in the *$PCP\_VAR\_DIR/config/pmafm* directory.

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

## SEE ALSO

[**mkaf**(1)](/mkaf/1.md), [**pcp-atop**(1)](/pcp-atop/1.md), [**pmchart**(1)](/pmchart/1.md), [**pmlogdump**(1)](/pmlogdump/1.md), [**PMAPI**(3)](/PMAPI/3.md), [**pmRecordSetup**(3)](/pmRecordSetup/3.md), [**pcp.conf**(5)](/pcp.conf/5.md) and [**pcp.env**(5)](/pcp.env/5.md).
