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

# pcp-free(1)

report on free and used memory in the system

## NAME

**pcp-free** - report on free and used memory in the system

## SYNOPSIS

**pcp** \[*pcp options*\] **free** \[**-bkmgroltVw?**\] \[**-c** *count*\] \[**-s** *interval*\]

## DESCRIPTION

**pcp-free** gives a summary display of the total amount of free and used physical memory and swap in the system, as well as the caches used by the kernel.

When invoked via the [**pcp**(1)](/pcp/1.md) command, the **-h**/ **--host**, **-a**/ **--archive**, **-O**/ **--origin**, **-s**/ **--samples**, **-t**/ **--interval**, **-Z**/ **--timezone** and several other **pcp** *options* become indirectly available, see [**PCPIntro**(1)](/PCPIntro/1.md) for their descriptions.

The displayed columns are:

- **total**

  Total installed memory (MemTotal and SwapTotal in /proc/meminfo)

- **used**

  Used memory (calculated as **total** - **free** - **buffers** - **cache**)

- **free**

  Unused memory (MemFree and SwapFree in /proc/meminfo)

- **shared**

  Memory used (mostly) by tmpfs (Shmem in /proc/meminfo)

- **buffers**

  Memory used by kernel buffers (Buffers in /proc/meminfo)

- **cache**

  Memory used by the page cache and slabs (Cached and SReclaimable in /proc/meminfo)

- **buff/cache**

  Sum of **buffers** and **cache**

- **available**

  Estimation of how much memory is available for starting new applications, without swapping. Unlike the data provided by the **cache** or **free** fields, this field takes into account page cache and also that not all reclaimable memory slabs will be reclaimed due to items being in use (MemAvailable in /proc/meminfo).

## OPTIONS

The available command line options are:

- **-b**, **--bytes**

  Display the amount of memory in bytes.

- **-c** *count*, **--samples**=*count*, **--count**=*count*

  Terminate the display after *count* iterations. See also **-s**.

- **-g**, **--gigabytes**

  Display the amount of memory in gigabytes.

- **-k**, **--kilobytes**

  Display the amount of memory in kilobytes. This is the default.

- **-l**, **--lohi**

  Display detailed low and high memory statistics.

- **-m**, **--megabytes**

  Display the amount of memory in megabytes.

- **-o**

  Disable the display of a "buffer adjusted" line. If the **-o** option is not specified, **free** subtracts buffer memory from the used memory and adds it to the free memory reported.

- **-r**, **--terabytes**

  Display the amount of memory in terabytes.

- **-s** *delay*, **--interval**=*delay*, **--seconds**=*delay*

  Activate continuous polling *delay* seconds apart. You may specify any floating point number for *delay*, or indeed any valid [**pmParseInterval**(3)](/pmParseInterval/3.md) specification, which includes microsecond resolution delay times. This can be used in conjunction with the **-c** option.

- **-t**, **--total**

  Display a line containing the totals.

- **-V**, **--version**

  Display version number and exit.

- **-w**, **--wide**

  Switch to the wide mode. The wide mode produces lines longer than 80 characters. In this mode **buffers** and **cache** are reported in two separate columns.

- **-?**, **--help**

  Display usage message and exit.

## NOTES

**pcp-free** is inspired by the [**free**(1)](/free/1.md) command and aims to be command line and output compatible with it.

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

For environment variables affecting PCP tools, see [**pmGetOptions**(3)](/pmGetOptions/3.md).

## SEE ALSO

[**PCPIntro**(1)](/PCPIntro/1.md), [**pcp**(1)](/pcp/1.md), [**free**(1)](/free/1.md), [**pmParseInterval**(3)](/pmParseInterval/3.md) and [**environ**(7)](/environ/7.md).
