Functionality:
The mpstat
command is used to display statistics for each available CPU.
Syntax:mpstat [ options ]
Overview:mpstat
(Multi-Processor Statistics) is a tool for displaying statistics on the performance of individual CPUs, functioning as a real-time monitoring utility. While similar to vmstat
, mpstat
focuses solely on CPU performance statistics. To install mpstat
on Ubuntu or CentOS, you can use the following commands:
For Ubuntu:
sudo apt install sysstat
For CentOS:
sudo yum install sysstat
Options:
-P
: Specify a CPU number or useALL
to display statistics for all CPUs.
Examples:
Running mpstat
without any options will display overall performance statistics for all CPUs:
$ mpstat
Linux 6.8.0-45-generic (Ubuntu22-VirtualBox) 2024年10月15日 _x86_64_ (2 CPU)
13:48:03 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
13:48:03 all 0.11 0.02 0.10 0.01 0.00 0.17 0.00 0.00 0.00 99.60
Using the -P ALL
option provides both overall CPU performance statistics as well as detailed statistics for each individual CPU:
$ mpstat -P ALL
Linux 6.8.0-45-generic (Ubuntu22-VirtualBox) 2024年10月15日 _x86_64_ (2 CPU)
13:59:40 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
13:59:40 all 0.11 0.02 0.10 0.01 0.00 0.17 0.00 0.00 0.00 99.60
13:59:40 0 0.11 0.02 0.10 0.01 0.00 0.31 0.00 0.00 0.00 99.45
13:59:40 1 0.10 0.02 0.10 0.01 0.00 0.03 0.00 0.00 0.00 99.75
You can also specify a particular CPU by using the -P n
option, where n
represents the CPU number starting from 0:
$ mpstat -P 0
Linux 6.8.0-45-generic (Ubuntu22-VirtualBox) 2024年10月15日 _x86_64_ (2 CPU)
14:18:14 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
14:18:14 0 0.11 0.02 0.10 0.01 0.00 0.31 0.00 0.00 0.00 99.45
$ mpstat -P 1
Linux 6.8.0-45-generic (Ubuntu22-VirtualBox) 2024年10月15日 _x86_64_ (2 CPU)
14:18:17 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
14:18:17 1 0.10 0.02 0.10 0.01 0.00 0.03 0.00 0.00 0.00 99.75
Field Descriptions:
- %usr: Percentage of CPU time spent in user mode (excluding processes with a negative
nice
value). Calculation:(usr/total)*100
- %nice: Percentage of CPU time spent on processes with a negative
nice
value. Calculation:(nice/total)*100
- %sys: Percentage of CPU time spent in kernel mode. Calculation:
(system/total)*100
- %iowait: Percentage of time spent waiting for I/O operations. Calculation:
(iowait/total)*100
- %irq: Percentage of CPU time spent handling hardware interrupts. Calculation:
(irq/total)*100
- %soft: Percentage of CPU time spent handling software interrupts. Calculation:
(softirq/total)*100
- %idle: Percentage of CPU time spent idle, excluding time waiting for I/O operations. Calculation:
(idle/total)*100