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 useALLto 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
nicevalue). Calculation:(usr/total)*100 - %nice: Percentage of CPU time spent on processes with a negative
nicevalue. 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
