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

# pmdabpf(1)

eBPF PMDA

## NAME

**pmdabpf** - eBPF PMDA

## SYNOPSIS

**$PCP\_PMDAS\_DIR/bpf/pmdabpf** \[**-D** *debug*\]

## DESCRIPTION

**pmdabpf** is a Performance Co-Pilot (PCP) Performance Metrics Domain Agent (PMDA) which extracts live performance data from eBPF programs utilizing BPF CO-RE (libbpf and BTF).

**pmdabpf** loads and acts as a bridge for any number of configured, separate bpf PMDA modules. Existing libbpf tools should be possible to be utilized with the bpf PMDA modules with reasonable effort.

See the eBPF, libbpf and BPF CO-RE documentation for detailed descriptions.

## CONFIGURATION

**pmdabpf** reads a mandatory ini-style configuration file:

-

  -

  *`$PCP_PMDAS_DIR`/bpf/bpf.conf*

Each section of the file corresponds to one bpf PMDA module. The following global options are available for every module (their default values are shown in parenthesis):

- **enabled (unset)**

  A boolean value to specify whether this bpf PMDA module should be started or not.

Modules may also support additional module-specific configuration options, refer to the default configuration file for their supported options.

## INSTALLATION

To install, the following must be done as root:

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

To uninstall, the following must be done as root:

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

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

Some modules will start providing values only after having collected data from related system activity.

## FILES

- *`$PCP_PMDAS_DIR`/bpf/bpf.conf*

  configuration file for the **pmdabpf** agent

- *`$PCP_PMDAS_DIR`/bpf/modules/\*.{o,so}*

  bpf PMDA modules available for the **pmdabpf** agent

- *`$PCP_PMDAS_DIR`/bpf/Install*

  installation script for the **pmdabpf** agent

- *`$PCP_PMDAS_DIR`/bpf/Remove*

  undo installation script for the **pmdabpf** agent

- *`$PCP_LOG_DIR`/pmcd/bpf.log*

  default log file for messages from the **pmdabpf** agent

Note that the usual/default value for **$PCP\_PMDAS\_DIR** is **/var/lib/pcp/pmdas** and the default for **$PCP\_LOG\_DIR** is **/var/log/pcp** but these settings are platform dependent.

## 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), **bpf**(1) and [**pmcd**(1)](/pmcd/1.md).
