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

# mpvis(1)

visualize cpu utilization/performance

## NAME

**mpvis** - visualize cpu utilization/performance

## SYNOPSIS

**mpvis** \[**-biV**\] \[**-r** *rowlength*\] \[**-R** *rowlength*\] \[*pmview options*\] \[*cpuid ...*\]

## DESCRIPTION

**mpvis** displays a three dimensional bar chart of CPU utilization. The display is updated with new values retrieved from the target *host* or *archive* every *interval* seconds (default is 2 seconds).

The height of the bars is proportional to the CPU utilization in each of the modes **idle** (with no I/O pending), **wait** (idle, but waiting for I/O - only visible in IRIX), **intr** (interrupt processing - only visible in IRIX), **nice** (nice state - only visible in Linux), **sys** (in the kernel) and **user**.

The number of CPUs per row in the scene is governed by the default maximum row length, and the options **-b**, **-r** and **-R**.  If none of these flags are specified, **mpvis** uses the default maximum row length to calculate the actual number of rows and columns in the view, according to:

```
	nrows = (ncpus + maxrowlen - 1) / maxrowlen
	ncols = (ncpus + nrows - 1) / nrows.
```

The **-r** option uses the above algorithm, but allows the user to override the maximum row length.

The CPUs are sorted in ascending order.  They are displayed from left to right, and front to back (in the case where there is more than one row of CPUs).

The user can specify a list of CPUs as *cpuid* arguments using the naming scheme reported by

`$ pminfo -f kernel.percpu.cpu.user`

i.e. **cpu***N* or **cpu***A***:***B* depending on the operating system version and platform. Alternatively, if the *cpuid* argument contains one of the characters **^** or **.** or **\[** then *cpuid* will be treated as a regular expression in the style of [**egrep**(1)](/egrep/1.md) and the matching set of CPU names will be used instead of *cpuid*.

If one or more *cpuid* arguments is specified, then only the CPUs in this list are displayed in the view.  The list of CPUs is sorted into ascending CPU number and they are displayed from left to right, and front to back (in the case where there is more than one row of CPUs).

**mpvis** generates a [**pmview**(1)](/pmview/1.md) configuration file, and passes most command line options to [**pmview**(1)](/pmview/1.md). Therefore, the command line options **-A**, **-a**, **-C**, **-h**, **-n**, **-O**, **-p**, **-S**, **-t**, **-T**, **-Z** and **-z**, and the user interface are described in the [**pmview**(1)](/pmview/1.md) man page.

## COMMAND LINE OPTIONS

The **mpvis** specific options are:

- **-b**

  Use a ratio for row:column of 1:8.  This option is best for large numbers of CPUs.  If the row length is not a factor of the number of CPUs, then the last row will be shorter than all other rows.  This option ignores the maximum row length.

- **-i**

  Label each CPU column with the CPU number.

- **-r**

  Split the view into a number of rows, where each row has a maximum length of *n* CPUs.  This is a soft limit.  The actual row length is calculated by an algorithm (see above) which prduces a balanced view with no more than *n* CPUs per row.

- **-R**

  Split the view into a number of rows, where each row has a length of *n* CPUs.  This is a hard limit.  If the row length is not a factor of the number of CPUs, then the last row will be shorter than all other rows.

- **-V**

  Verbose mode - output the generated [**pmview**(1)](/pmview/1.md) configuration file.

## LAUNCH

The behavior of [**pmchart**(1)](/pmchart/1.md) when launched from **mpvis** is dependent on the number of CPUs in each row.  If there are more than 6 CPUs in a row then each chart will contain a separate metric, otherwise each chart will contain a separate CPU instance.

## FILES

- **$PCP\_VAR\_DIR/config/pmlogger/config.mpvis**

  A [**pmlogger**(1)](/pmlogger/1.md) configuration file for **mpvis** metrics.

- **$PCP\_SHARE\_DIR/lib/pmview-args**

  Shell procedures for parsing [**pmview**(1)](/pmview/1.md) command line options.

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

## SEE ALSO

[**dkvis**(1)](/dkvis/1.md), [**nfsvis**(1)](/nfsvis/1.md), [**pmcd**(1)](/pmcd/1.md), [**pmchart**(1)](/pmchart/1.md), [**pmlogger**(1)](/pmlogger/1.md) and [**pmview**(1)](/pmview/1.md).

The **CPU** view for [**pmchart**(1)](/pmchart/1.md).
