mpstat 介绍
mpstat
是Linux系统中用于监控多核CPU性能和使用情况的命令行工具。它可以显示每个CPU或CPU核心的活动统计信息,帮助用户分析系统的CPU使用情况,从而进行性能调优。mpstat
属于sysstat
包,如果系统中未安装该包,需要先进行安装。
基本用法
mpstat [选项] [间隔] [次数]
- 选项:可以指定不同的选项来定制输出,例如显示所有CPU的平均使用情况,或者显示特定CPU的使用情况。
- 间隔:表示两次统计之间的时间间隔,单位为秒。
- 次数:表示统计的次数。
如果不带任何参数运行mpstat
,它将显示自系统启动以来的CPU使用情况的平均值。
常用选项
-P ALL
:显示所有CPU的统计信息。-P [CPU号]
:只显示指定CPU的统计信息。-u
:显示CPU使用情况的报告。
输出解释
mpstat
命令的输出通常包含以下几列:
- %usr:用户空间占用CPU的百分比。
- %nice:改变过优先级的进程占用CPU的百分比。
- %sys:内核空间占用CPU的百分比。
- %iowait:等待I/O操作占用CPU的百分比。
- %irq:处理硬件中断请求占用CPU的百分比。
- %soft:处理软件中断请求占用CPU的百分比。
- %steal:在虚拟化环境中,其他操作系统占用的CPU时间百分比。
- %guest:运行虚拟处理器占用CPU的百分比。
- %gnice:运行改变过优先级的虚拟处理器占用CPU的百分比。
- %idle:CPU空闲时间的百分比。
示例
查看所有CPU的当前使用情况:
mpstat -P ALL
Linux 5.10.0-136.16.0.x86_64 07/31/2024 _x86_64_ (128 CPU)
11:14:47 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
11:14:47 PM all 0.21 0.01 0.05 0.00 0.00 0.00 0.00 0.00 99.73
11:14:47 PM 0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
11:14:47 PM 1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
11:14:47 PM 2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
11:14:47 PM 3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
11:14:47 PM 4 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
11:14:47 PM 5 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
11:14:47 PM 6 0.09 0.03 0.04 0.00 0.00 0.00 0.00 0.00 99.84
11:14:47 PM 7 0.09 0.01 0.03 0.00 0.00 0.00 0.00 0.00 99.87
11:14:47 PM 8 0.08 0.01 0.04 0.00 0.00 0.00 0.00 0.00 99.88
11:14:47 PM 9 0.07 0.01 0.03 0.00 0.00 0.00 0.00 0.00 99.90
11:14:47 PM 10 0.08 0.01 0.03 0.00 0.00 0.00 0.00 0.00 99.89
11:14:47 PM 11 0.05 0.04 0.02 0.00 0.00 0.00 0.00 0.00 99.88
11:14:47 PM 12 0.05 0.04 0.03 0.00 0.00 0.00 0.00 0.00 99.88
11:14:47 PM 13 0.06 0.00 0.03 0.00 0.00 0.00 0.00 0.00 99.91
11:14:47 PM 14 0.08 0.00 0.03 0.00 0.00 0.00 0.00 0.00 99.90
11:14:47 PM 15 0.06 0.01 0.03 0.00 0.00 0.00 0.00 0.00 99.90
11:14:47 PM 16 0.06 0.02 0.03 0.00 0.00 0.00 0.00 0.00 99.90
11:14:47 PM 17 0.07 0.01 0.03 0.00 0.00 0.00 0.00 0.00 99.89
11:14:47 PM 18 0.07 0.06 0.03 0.00 0.00 0.00 0.00 0.00 99.84
11:14:47 PM 19 0.07 0.01 0.03 0.00 0.00 0.00 0.00 0.00 99.89
11:14:47 PM 20 0.06 0.00 0.03 0.00 0.00 0.00 0.00 0.00 99.92
11:14:47 PM 21 0.06 0.00 0.02 0.00 0.00 0.00 0.00 0.00 99.92
11:14:47 PM 22 0.06 0.01 0.03 0.00 0.00 0.00 0.00 0.00 99.89
11:14:47 PM 23 0.06 0.00 0.04 0.00 0.00 0.00 0.00 0.00 99.90
11:14:47 PM 24 0.06 0.00 0.03 0.00 0.00 0.00 0.00 0.00 99.92
11:14:47 PM 25 0.07 0.01 0.03 0.00 0.00 0.00 0.00 0.00 99.89
11:14:47 PM 26 0.06 0.00 0.03 0.00 0.00 0.00 0.00 0.00 99.92
11:14:47 PM 27 0.05 0.01 0.03 0.00 0.00 0.00 0.00 0.00 99.91
11:14:47 PM 28 0.08 0.00 0.03 0.00 0.00 0.00 0.00 0.00 99.89
11:14:47 PM 29 0.07 0.01 0.02 0.00 0.00 0.00 0.00 0.00 99.90
11:14:47 PM 30 0.06 0.00 0.02 0.00 0.00 0.00 0.00 0.00 99.91
11:14:47 PM 31 0.06 0.00 0.03 0.00 0.00 0.00 0.00 0.00 99.91
11:14:47 PM 32 0.42 0.02 0.07 0.00 0.00 0.00 0.00 0.00 99.49
11:14:47 PM 33 0.51 0.02 0.08 0.00 0.00 0.00 0.00 0.00 99.40
11:14:47 PM 34 0.32 0.00 0.07 0.00 0.00 0.00 0.00 0.00 99.61
11:14:47 PM 35 0.52 0.01 0.08 0.00 0.00 0.00 0.00 0.00 99.38
11:14:47 PM 36 0.36 0.02 0.06 0.00 0.00 0.00 0.00 0.00 99.55
11:14:47 PM 37 0.36 0.00 0.06 0.00 0.00 0.00 0.00 0.00 99.57
11:14:47 PM 38 0.34 0.01 0.07 0.00 0.00 0.00 0.00 0.00 99.58
11:14:47 PM 39 0.48 0.01 0.10 0.00 0.00 0.00 0.00 0.00 99.42
11:14:47 PM 40 0.33 0.01 0.07 0.00 0.00 0.00 0.00 0.00 99.59
11:14:47 PM 41 0.36 0.00 0.07 0.00 0.00 0.00 0.00 0.00 99.57
11:14:47 PM 42 0.28 0.02 0.06 0.00 0.00 0.00 0.00 0.00 99.64
11:14:47 PM 43 0.32 0.02 0.06 0.00 0.00 0.00 0.00 0.00 99.60
11:14:47 PM 44 0.34 0.00 0.06 0.00 0.00 0.00 0.00 0.00 99.60
11:14:47 PM 45 0.31 0.00 0.06 0.00 0.00 0.00 0.00 0.00 99.63
11:14:47 PM 46 0.32 0.02 0.06 0.00 0.00 0.00 0.00 0.00 99.59
11:14:47 PM 47 0.43 0.00 0.07 0.00 0.00 0.00 0.00 0.00 99.50
11:14:47 PM 48 0.36 0.01 0.07 0.00 0.00 0.00 0.00 0.00 99.57
11:14:47 PM 49 0.30 0.00 0.06 0.00 0.00 0.00 0.00 0.00 99.64
11:14:47 PM 50 0.33 0.00 0.06 0.00 0.00 0.00 0.00 0.00 99.60
11:14:47 PM 51 0.30 0.00 0.06 0.00 0.00 0.00 0.00 0.00 99.64
11:14:47 PM 52 0.27 0.00 0.06 0.00 0.00 0.00 0.00 0.00 99.68
11:14:47 PM 53 0.31 0.00 0.06 0.00 0.00 0.00 0.00 0.00 99.63
11:14:47 PM 54 0.30 0.00 0.06 0.00 0.00 0.00 0.00 0.00 99.64
11:14:47 PM 55 0.28 0.00 0.06 0.00 0.00 0.00 0.00 0.00 99.66
11:14:47 PM 56 0.31 0.00 0.06 0.00 0.00 0.00 0.00 0.00 99.63
11:14:47 PM 57 0.25 0.01 0.06 0.00 0.00 0.00 0.00 0.00 99.68
11:14:47 PM 58 0.31 0.01 0.06 0.00 0.00 0.00 0.00 0.00 99.62
11:14:47 PM 59 0.25 0.00 0.06 0.00 0.00 0.00 0.00 0.00 99.69
11:14:47 PM 60 0.31 0.00 0.07 0.00 0.00 0.00 0.00 0.00 99.62
11:14:47 PM 61 0.26 0.00 0.06 0.00 0.00 0.00 0.00 0.00 99.68
11:14:47 PM 62 0.31 0.00 0.07 0.00 0.00 0.00 0.00 0.00 99.62
11:14:47 PM 63 0.32 0.01 0.06 0.00 0.00 0.00 0.00 0.00 99.61
11:14:47 PM 64 0.07 0.01 0.04 0.00 0.00 0.00 0.00 0.00 99.88
11:14:47 PM 65 0.07 0.01 0.06 0.00 0.00 0.00 0.00 0.00 99.86
11:14:47 PM 66 0.07 0.01 0.05 0.00 0.00 0.00 0.00 0.00 99.88
11:14:47 PM 67 0.07 0.01 0.05 0.00 0.00 0.00 0.00 0.00 99.86
11:14:47 PM 68 0.09 0.01 0.05 0.00 0.00 0.00 0.00 0.00 99.85
11:14:47 PM 69 0.08 0.01 0.05 0.00 0.00 0.00 0.00 0.00 99.86
11:14:47 PM 70 0.06 0.00 0.03 0.00 0.00 0.00 0.00 0.00 99.91
11:14:47 PM 71 0.07 0.02 0.03 0.00 0.00 0.00 0.00 0.00 99.89
11:14:47 PM 72 0.06 0.02 0.02 0.00 0.00 0.00 0.00 0.00 99.89
11:14:47 PM 73 0.06 0.02 0.03 0.00 0.00 0.00 0.00 0.00 99.89
11:14:47 PM 74 0.06 0.00 0.03 0.00 0.00 0.00 0.00 0.00 99.91
11:14:47 PM 75 0.06 0.02 0.03 0.00 0.00 0.00 0.00 0.00 99.89
11:14:47 PM 76 0.05 0.05 0.03 0.00 0.00 0.00 0.00 0.00 99.87
11:14:47 PM 77 0.05 0.01 0.03 0.00 0.00 0.00 0.00 0.00 99.91
11:14:47 PM 78 0.07 0.00 0.02 0.00 0.00 0.00 0.00 0.00 99.90
11:14:47 PM 79 0.06 0.00 0.02 0.00 0.00 0.00 0.00 0.00 99.91
11:14:47 PM 80 0.06 0.00 0.03 0.00 0.00 0.00 0.00 0.00 99.91
11:14:47 PM 81 0.05 0.01 0.02 0.00 0.00 0.00 0.00 0.00 99.92
11:14:47 PM 82 0.06 0.01 0.03 0.00 0.00 0.00 0.00 0.00 99.90
11:14:47 PM 83 0.06 0.01 0.03 0.00 0.00 0.00 0.00 0.00 99.90
11:14:47 PM 84 0.06 0.00 0.03 0.00 0.00 0.00 0.00 0.00 99.91
11:14:47 PM 85 0.06 0.00 0.03 0.00 0.00 0.00 0.00 0.00 99.90
11:14:47 PM 86 0.05 0.00 0.03 0.00 0.00 0.00 0.00 0.00 99.92
11:14:47 PM 87 0.06 0.01 0.03 0.00 0.00 0.00 0.00 0.00 99.90
11:14:47 PM 88 0.07 0.01 0.03 0.00 0.00 0.00 0.00 0.00 99.90
11:14:47 PM 89 0.05 0.00 0.03 0.00 0.00 0.00 0.00 0.00 99.92
11:14:47 PM 90 0.04 0.00 0.03 0.00 0.00 0.00 0.00 0.00 99.93
11:14:47 PM 91 0.06 0.01 0.02 0.00 0.00 0.00 0.00 0.00 99.91
11:14:47 PM 92 0.06 0.01 0.02 0.00 0.00 0.00 0.00 0.00 99.91
11:14:47 PM 93 0.06 0.00 0.02 0.00 0.00 0.00 0.00 0.00 99.92
11:14:47 PM 94 0.04 0.01 0.03 0.00 0.00 0.00 0.00 0.00 99.92
11:14:47 PM 95 0.05 0.00 0.02 0.00 0.00 0.00 0.00 0.00 99.93
11:14:47 PM 96 0.37 0.00 0.06 0.00 0.00 0.00 0.00 0.00 99.57
11:14:47 PM 97 0.33 0.01 0.07 0.00 0.00 0.00 0.00 0.00 99.60
11:14:47 PM 98 0.30 0.00 0.06 0.00 0.00 0.00 0.00 0.00 99.63
11:14:47 PM 99 0.37 0.01 0.07 0.00 0.00 0.00 0.00 0.00 99.55
11:14:47 PM 100 0.29 0.00 0.06 0.00 0.00 0.00 0.00 0.00 99.64
11:14:47 PM 101 0.32 0.00 0.07 0.00 0.00 0.00 0.00 0.00 99.60
11:14:47 PM 102 0.32 0.04 0.07 0.00 0.00 0.00 0.00 0.00 99.57
11:14:47 PM 103 0.33 0.02 0.06 0.00 0.00 0.00 0.00 0.00 99.60
11:14:47 PM 104 0.35 0.00 0.06 0.00 0.00 0.00 0.00 0.00 99.59
11:14:47 PM 105 0.31 0.00 0.06 0.00 0.00 0.00 0.00 0.00 99.62
11:14:47 PM 106 0.31 0.00 0.06 0.00 0.00 0.00 0.00 0.00 99.63
11:14:47 PM 107 0.29 0.01 0.06 0.00 0.00 0.00 0.00 0.00 99.64
11:14:47 PM 108 0.39 0.00 0.08 0.00 0.00 0.00 0.00 0.00 99.54
11:14:47 PM 109 0.36 0.00 0.06 0.00 0.00 0.00 0.00 0.00 99.57
11:14:47 PM 110 0.31 0.00 0.07 0.00 0.00 0.00 0.00 0.00 99.62
11:14:47 PM 111 0.28 0.00 0.06 0.00 0.00 0.00 0.00 0.00 99.66
11:14:47 PM 112 0.53 0.02 0.07 0.00 0.00 0.00 0.00 0.00 99.38
11:14:47 PM 113 0.35 0.00 0.06 0.00 0.00 0.00 0.00 0.00 99.59
11:14:47 PM 114 0.39 0.00 0.07 0.00 0.00 0.00 0.00 0.00 99.54
11:14:47 PM 115 0.30 0.02 0.07 0.00 0.00 0.00 0.00 0.00 99.61
11:14:47 PM 116 0.37 0.00 0.07 0.00 0.00 0.00 0.00 0.00 99.56
11:14:47 PM 117 0.54 0.02 0.09 0.00 0.00 0.00 0.00 0.00 99.35
11:14:47 PM 118 0.31 0.01 0.06 0.00 0.00 0.00 0.00 0.00 99.63
11:14:47 PM 119 0.33 0.01 0.07 0.00 0.00 0.00 0.00 0.00 99.60
11:14:47 PM 120 0.28 0.00 0.07 0.00 0.00 0.00 0.00 0.00 99.65
11:14:47 PM 121 0.30 0.01 0.06 0.00 0.00 0.00 0.00 0.00 99.63
11:14:47 PM 122 0.55 0.04 0.13 0.00 0.00 0.00 0.00 0.00 99.28
11:14:47 PM 123 0.31 0.00 0.06 0.00 0.00 0.00 0.00 0.00 99.63
11:14:47 PM 124 0.35 0.00 0.06 0.00 0.00 0.00 0.00 0.00 99.59
11:14:47 PM 125 0.31 0.00 0.07 0.00 0.00 0.00 0.00 0.00 99.62
11:14:47 PM 126 0.35 0.00 0.07 0.00 0.00 0.00 0.00 0.00 99.58
11:14:47 PM 127 0.26 0.00 0.06 0.00 0.00 0.00 0.00 0.00 99.68
每5秒更新一次CPU使用情况,共更新3次:
mpstat 5 3
Linux 5.10.0-136.16.0.x86_64 07/31/2024 _x86_64_ (128 CPU)
11:17:24 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
11:17:29 PM all 0.10 0.00 0.03 0.00 0.00 0.00 0.00 0.00 99.88
11:17:34 PM all 0.11 0.00 0.04 0.00 0.00 0.00 0.00 0.00 99.86
11:17:39 PM all 0.15 0.00 0.03 0.00 0.00 0.00 0.00 0.00 99.82
Average: all 0.12 0.00 0.03 0.00 0.00 0.00 0.00 0.00 99.85
安装mpstat
如果系统中未安装mpstat
,可以通过包管理器进行安装:
-
对于基于Debian的系统(如Ubuntu):
sudo apt-get install sysstat
-
对于基于RPM的系统(如CentOS):
sudo yum install sysstat
通过使用mpstat
,可以详细了解系统的CPU使用情况,从而更好地理解系统的性能瓶颈和优化方向。
mpstat 和top 区别
mpstat
和top
都是Linux系统中用于监控系统性能的工具,但它们的关注点和展示的信息有所不同。
mpstat
- 专注于CPU:
mpstat
主要用于显示多核CPU的性能统计信息,包括每个CPU或CPU核心的使用情况。 - 详细的CPU统计:它提供了关于CPU使用情况的详细报告,包括用户模式、系统模式、空闲时间、I/O等待时间等多个维度的统计数据。
- 适用于多核CPU性能分析:
mpstat
特别适合于分析多核CPU系统的性能,可以显示每个核心的详细使用情况。 - 定时和历史数据收集:可以指定收集数据的时间间隔和次数,适合于长时间的性能监控和分析。
top
- 全面的系统监控:
top
提供了一个实时的系统状态视图,包括CPU、内存、进程等多个方面的信息。 - 进程级别的监控:
top
特别强调进程级别的监控,可以看到哪些进程占用了最多的CPU和内存资源。 - 交互式操作:
top
命令提供了一个交互式界面,用户可以通过键盘命令对输出进行排序、杀死进程等操作。 - 实时更新:
top
的输出会实时更新,提供了一个动态的系统性能概览。
区别总结
- 关注点不同:
mpstat
更专注于提供CPU的详细使用情况,适合于深入分析CPU性能;而top
提供了一个更全面的系统状态视图,包括CPU、内存和进程等信息。 - 输出内容不同:
mpstat
输出主要是CPU的统计数据;top
则显示了包括进程信息在内的更全面的系统监控信息。 - 使用场景不同:
mpstat
适合于需要详细分析CPU性能的场景,特别是在多核CPU环境下;top
则更适合于需要快速查看系统整体性能和进程状态的场景。
总的来说,mpstat
和top
都是非常有用的系统监控工具,但它们各自侧重的监控内容和使用场景有所不同。在实际使用中,根据需要选择合适的工具或者结合使用这两个工具,可以更有效地进行系统性能监控和分析。