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

# pmdamailq(1)

mail queue performance metrics domain agent (PMDA)

## NAME

**pmdamailq** - mail queue performance metrics domain agent (PMDA)

## SYNOPSIS

**$PCP\_PMDAS\_DIR/mailq/pmdamailq** \[**-b** *binlist*\] \[**-D** *debug*\] \[**-d** *domain*\] \[**-l** *logfile*\] \[**-r** *regex*\] \[**-U** *username*\] \[*queuedir*\]

## DESCRIPTION

**pmdamailq** is a Performance Metrics Domain Agent (PMDA) which extracts performance metrics describing the state of the e-mail queues managed by [**sendmail**(1)](/sendmail/1.md) and other mail transfer agents.

The **mailq** PMDA exports metrics that measure the total number of entries in the mail queue, and the subtotals for entries that have been queued for various time periods.

A brief description of the **pmdamailq** command line options follows:

- **-b**

  The *binlist* argument specifies a list of delay thresholds used to \`\`bin'' the entries in the queue into a a histogram based on how long the entry has been in the mail queue. The default thresholds are: 1 hour, 4 hours, 8 hours, 1 day, 3 days and 7 days. The entries in *binlist* are comma separated time intervals, using the syntax described in [**PCPIntro**(1)](/PCPIntro/1.md) for an update or reporting interval, e.g. the default list could be specified using the value **1hr,4hrs,8hrs,1day,3days,7days**.

  Values in *binlist* are assumed to be in ascending order, and mail items in the queue less than the first threshold are binned into a special bin labeled \`\`recent''.

- **-d**

  It is absolutely crucial that the performance metrics *domain* number specified here is unique and consistent. That is, *domain* should be different for every PMDA on the one host, and the same *domain* number should be used for the same PMDA on all hosts.

- **-l**

  Location of the log file.  By default, a log file named *mailq.log* is written in the current directory of [**pmcd**(1)](/pmcd/1.md) when **pmdamailq** is 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**

  Use an extended regular expression to match file names in the mail queue directory, rather than assuming all "df" prefixed files in the directory are mail files (the "df" prefix is the **sendmail** convention, but this convention is not followed by other mail daemons). The *regex* pattern specified should conform to the POSIX format described in [**regex**(3)](/regex/3.md), and it describes file names that should be considered mail.

- **-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.

The optional *queuedir* argument defines the directory in which **pmdamailq** expects to find the mail queue. The default is **/var/spool/mqueue**.

## INSTALLATION

If you want access to the names, help text and values for the mailq performance metrics, do the following as root:

```
# cd $PCP_PMDAS_DIR/mailq
# ./Install
```

If you want to undo the installation, do the following as root:

```
# cd $PCP_PMDAS_DIR/mailq
# ./Remove
```

**pmdamailq** is launched by [**pmcd**(1)](/pmcd/1.md) and should never be executed directly. The Install and Remove scripts notify [**pmcd**(1)](/pmcd/1.md) when the agent is installed or removed.

## FILES

- **$PCP\_PMCDCONF\_PATH**

  command line options used to launch **pmdamailq**

- **$PCP\_PMDAS\_DIR/mailq/help**

  default help text file for the mailq metrics

- **$PCP\_PMDAS\_DIR/mailq/Install**

  installation script for the **pmdamailq** agent

- **$PCP\_PMDAS\_DIR/mailq/Remove**

  undo installation script for the **pmdamailq** agent

- **$PCP\_LOG\_DIR/pmcd/mailq.log**

  default log file for error messages and other information from **pmdamailq**

## 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).

## 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)](/pmdbg/1.md) with the **-l** option to obtain a list of the available debugging options and their meaning.

## SEE ALSO

[**PCPIntro**(1)](/PCPIntro/1.md), [**pmcd**(1)](/pmcd/1.md), [**pcp.conf**(5)](/pcp.conf/5.md) and [**pcp.env**(5)](/pcp.env/5.md).
