尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

Linux CPU瓶颈排查神器!mpstat命令超全详解|多核CPU精准监控

Linux CPU瓶颈排查神器!mpstat命令超全详解|多核CPU精准监控
📅 发布时间:2026/7/3 3:51:08

1. 命令简介

mpstat 命令是 sysstat 工具集的一部分,用于实时监控多处理器(多核CPU)系统中各个CPU核心的利用率统计信息。它能够清晰地展示用户态、内核态、I/O等待、中断处理等不同维度的CPU时间分配情况,是进行系统性能分析、定位CPU瓶颈和负载均衡问题的重要工具。

2. 语法格式

mpstat [选项] [<间隔时间> [<次数>]]

参数说明:

间隔时间:指定每次统计报告之间的间隔秒数。如果未指定,则只输出一次自系统启动以来的平均统计信息。

次数:指定生成报告的次数。如果指定了间隔时间但未指定次数,mpstat 将持续生成报告,直到手动中断(通常使用 Ctrl+C)。

3. 常用选项及说明

选项

说明

-P { <cpu> | ALL }

指定要报告的CPU。<cpu> 是CPU编号(从0开始)。使用 ALL 表示报告所有CPU的统计信息,包括一个 all 的汇总行。这是最常用的选项之一。

-I { SUM | CPU | SCPU | ALL }

报告中断统计信息。SUM:显示系统总中断速率。CPU:显示每个CPU每秒接收的中断数量。SCPU:显示每个CPU的软中断统计信息(需要内核2.6.31+)。ALL:显示以上所有信息。

-u

报告CPU利用率(默认选项)。即使不指定,输出也是CPU利用率信息。

-V

显示 sysstat 工具的版本信息并退出。

-o JSON

以JSON格式输出结果,便于脚本解析(需要 sysstat 11.7.3+ 版本)。

-N { <node_list> | ALL }

在NUMA架构系统中,报告指定内存节点的CPU统计信息。<node_list> 是节点列表(如 0,2 或 0-2)。ALL 表示所有节点。

4. 示例用法

显示自系统启动以来的平均CPU利用率(所有CPU汇总)

这是不带任何参数的基本用法,显示一个整体的历史平均值。

mpstat

以2秒为间隔,持续监控所有CPU(包括每个核心和汇总)

这是最经典的实时监控用法,-P ALL 是关键。

mpstat -P ALL 2

按 Ctrl+C 停止。

以3秒为间隔,共采样5次,并显示所有CPU信息

命令将输出5次报告,并在最后给出这5次采样的平均值。

mpstat -P ALL 3 5

仅监控特定的CPU核心(例如,核心0和核心2)

mpstat -P 0,2 1 3

监控系统中断统计信息

显示系统全局中断速率。

mpstat -I SUM 2

显示每个CPU核心的中断数量。

mpstat -I CPU 2

结合 watch 命令进行动态高亮监控

使用 watch 可以刷新屏幕,结合 --diff 可以高亮显示变化的部分。

watch -n 1 --differences=cumulative mpstat -P ALL 1 1

5. 输出字段含义详解(执行 mpstat -P ALL 后常见字段)

字段

含义

CPU

处理器编号。all 表示所有处理器的统计平均值。

%usr

在用户级别(应用程序)执行时发生的CPU利用率百分比。

%nice

在用户级别,用于执行 nice 优先级进程的CPU利用率百分比。

%sys

在内核级别(系统调用、中断处理等)执行时发生的CPU利用率百分比。

%iowait

系统有未完成的磁盘I/O请求时,CPU空闲时间的百分比。高值可能表示I/O瓶颈。

%irq

CPU用于处理硬件中断的时间百分比。

%soft

CPU用于处理软件中断(如网络协议栈处理)的时间百分比。

%steal

在虚拟化环境中,虚拟CPU等待宿主机CPU服务的时间百分比。非零值表示宿主机资源竞争。

%guest

CPU运行虚拟机的时间百分比。

%gnice

CPU运行低优先级(nice)虚拟机的时间百分比。

%idle

CPU空闲且系统没有未完成的磁盘I/O请求的时间百分比。

6. 注意事项

数据来源:mpstat 的数据来源于 /proc/stat 文件。其统计的是时间片的占用比例,而非CPU的绝对时钟周期。

首次采样:当指定了间隔时间后,第一次报告的数据仍然是自系统启动以来的平均值。从第二次报告开始,才是上一个间隔时间内的瞬时或平均数据。

%iowait 的解释:%iowait 高并不一定意味着磁盘是瓶颈,它只表示CPU在那段时间是空闲的,并且系统恰好有I/O在进行。需要结合 iostat、iotop 等工具综合判断。

%steal 在虚拟化环境:如果虚拟机的 %steal 值持续较高,表明宿主机物理CPU资源紧张,该虚拟机正在与其他虚拟机竞争CPU时间。

安装:大多数Linux发行版默认不安装 sysstat。您可能需要使用包管理器安装,例如:

Ubuntu/Debian: sudo apt install sysstat

CentOS/RHEL/Fedora: sudo yum install sysstat 或 sudo dnf install sysstat

版本差异:不同版本的 sysstat 工具,mpstat 的输出字段可能略有不同(例如,旧版本可能没有 %guest 和 %gnice 字段)。请使用 mpstat -V 查看版本。

获取更多Linux学习资料请关注“阿成学长工具包”,对话框中输入2647获取

相关新闻

  • MuleSoft实现企业级AI编排:LLM与ERP/CRM/SAP的可靠集成
  • utshell核心功能解析:如何实现Bash、Korn和C shell的完美整合
  • 5个大模型写Todo List实测:前端代码生成能力深度拆解

最新新闻

  • Meta 掀翻桌子进军云计算!“Meta Compute”曝光:AI 拼的不是模型,而是算力所有权
  • 【Java课程设计/毕业设计】基于 SpringBoot 的 “图书森林” 馆藏图书智能借阅系统的设计与实现 基于 SpringBoot 的共享图书资源可视化管理系统【附源码、数据库、万字文档】
  • CSRF攻击原理与防御实战:从DVWA靶场到企业级防护方案
  • 小程序商城哪个平台好?适合零售、餐饮和服务商家的选型逻辑
  • Oracle与Java安全实战:从SQL注入防御到TDE加密的纵深防护体系
  • 从“用户投诉才知道”到“出问题前自动告警”:告警系统演进之路

日新闻

  • JMeter接口测试实战:从核心元件到复杂场景构建
  • Java Applet版刽子手游戏源码:含完整项目结构、吊杆绘图与胜负逻辑
  • 使用Apache JMeter对RoadRunner PHP应用进行性能测试与调优指南

周新闻

  • Windows字体自定义终极方案:No!! MeiryoUI完全指南
  • Deepin Boot Maker:告别命令行,3分钟制作Linux启动盘的智能解决方案
  • Plain Craft Launcher 2:重新定义你的Minecraft游戏体验

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号