当前位置: 首页 > news >正文

在Ubuntu系统下使用mpstat工具监控CPU性能

在Ubuntu系统下使用mpstat工具监控CPU性能

  • 一、mpstat简介
  • 二、安装 mpstat
  • 三、mpstat基本用法
    • 3.1 查看所有 CPU 的平均使用情况
    • 3.2 监控所有 CPU 核心的实时数据
    • 3.3 设置采样间隔和次数*
    • 3.4 常用选项解释及示例
    • 3.5 输出解析
    • 3.6 实际应用场景
  • 四、总结

一、mpstat简介

mpstat(Multiprocessor Statistics)是 Linux 系统中用于监控 CPU 使用情况的工具,尤其适合多核处理器系统。它能够实时显示每个 CPU 核心的利用率、中断、空闲时间等详细统计信息,帮助用户分析系统性能瓶颈。本文将介绍如何在 Ubuntu 系统中安装和使用 mpstat 命令。

二、安装 mpstat

mpstatsysstat 工具包的一部分,Ubuntu 系统默认未安装。可以通过以下命令安装:

apt update
apt install sysstat -y

在这里插入图片描述

安装完成后,mpstat 命令即可直接使用。如果安装后无法运行,可能需要启用 sysstat 服务以收集数据:

systemctl enable sysstat
systemctl start sysstat

检查 sysstat 服务状态,使用以下命令:

 systemctl status sysstat

在这里插入图片描述

三、mpstat基本用法

3.1 查看所有 CPU 的平均使用情况

直接运行 mpstat 命令,会显示系统启动以来所有 CPU 的平均统计信息:

mpstat
root@jeven01:~# mpstat
Linux 5.15.0-143-generic (jeven01) 	07/10/2025 	_x86_64_	(4 CPU)03:02:28 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
03:02:28 PM  all    0.07    0.00    0.03    0.01    0.00    0.00    0.00    0.00    0.00   99.87

3.2 监控所有 CPU 核心的实时数据

使用 -P ALL 选项,可查看每个 CPU 核心的实时性能:

 root@jeven01:~#  mpstat -P ALL
Linux 5.15.0-143-generic (jeven01) 	07/10/2025 	_x86_64_	(4 CPU)03:03:11 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
03:03:11 PM  all    0.07    0.00    0.03    0.01    0.00    0.00    0.00    0.00    0.00   99.87
03:03:11 PM    0    0.07    0.00    0.03    0.01    0.00    0.01    0.00    0.00    0.00   99.88
03:03:11 PM    1    0.07    0.00    0.04    0.02    0.00    0.00    0.00    0.00    0.00   99.87
03:03:11 PM    2    0.07    0.01    0.03    0.01    0.00    0.00    0.00    0.00    0.00   99.87
03:03:11 PM    3    0.07    0.00    0.03    0.01    0.00    0.01    0.00    0.00    0.00   99.88

3.3 设置采样间隔和次数*

使用 intervalcount 参数,可指定采样间隔(秒)和次数。以下命令表示每 2 秒采集一次数据,共采集 5 次。

 mpstat 2 5

在这里插入图片描述

3.4 常用选项解释及示例

常用选项详解

选项说明
`-P {ALLCPU编号}`
-u显示 CPU 使用率(默认选项)。
-I显示中断统计信息(如硬件中断、软中断)。
-V显示 mpstat 版本信息。
-o JSON以 JSON 格式输出结果,便于自动化处理。
  • 该命令用于监控系统中第一个 CPU 核心(CPU 0)的性能统计信息,每隔 1 秒输出一次,共输出 3 次。
mpstat -P 0 1 3

在这里插入图片描述

  • 以 JSON 格式输出所有 CPU 统计信息
mpstat -P ALL -o JSON

在这里插入图片描述

3.5 输出解析

root@jeven01:~# mpstat
Linux 5.15.0-143-generic (jeven01) 	07/10/2025 	_x86_64_	(4 CPU)03:10:01 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
03:10:01 PM  all    0.07    0.00    0.03    0.01    0.00    0.00    0.00    0.00    0.00   99.87

输出字段解析
mpstat 的输出包含多个关键字段,以下是主要字段的含义:

字段含义
%usr用户态程序占用 CPU 的百分比(不包含 nice 值为负的进程)。
%nice低优先级用户态程序(nice 值为负)占用 CPU 的百分比。
%sys内核态程序(系统调用)占用 CPU 的百分比。
%iowaitCPU 等待 I/O 操作完成的时间占比。
%irq处理硬件中断的时间占比。
%soft处理软件中断的时间占比。
%steal虚拟机管理程序从虚拟机中“窃取”的 CPU 时间(仅适用于虚拟化环境)。
%idleCPU 空闲时间占比。

3.6 实际应用场景

  1. 排查 CPU 瓶颈
    如果 %usr%sys 持续高于 70%,可能表示 CPU 资源不足,需优化程序或升级硬件。

  2. 检查 I/O 等待问题
    %iowait 显著偏高,可能是磁盘或网络 I/O 瓶颈,需进一步检查存储设备或网络配置。

  3. 监控多核负载均衡
    使用 -P ALL 可查看各核心的利用率是否均衡,若某些核心负载过高,可能需要调整进程分配。

四、总结

mpstat 是一个强大的 CPU 性能监控工具,特别适合多核系统的性能分析。通过简单的命令和选项,用户可以快速获取 CPU 使用率、中断、空闲时间等关键指标,从而优化系统性能。对于开发人员、系统管理员或运维工程师来说,掌握 mpstat 的基本用法是排查性能问题的重要技能。


http://www.dtcms.com/a/278824.html

相关文章:

  • 深地之下的智慧触角:Deepoc具身智能如何为矿业机器人铸就“感知之核”
  • CSS3 粘性定位解析:position sticky
  • Go从入门到精通(23) - 一个简单web项目-使用数据库存储数据
  • 解决chrome v2 版本插件不支持
  • 上下文管理器 和 contextlib 模块
  • [硬件电路-22]: 为什么模拟电路信号处理运算的精度不如数字信号处理运算?
  • 《Llava:Visual Instruction Tuning》论文精读笔记
  • 基于Chinese-CLIP与ChromaDB的中文图像检索功能实现
  • 人工智能如何重构能源系统以应对气候变化?
  • 动态规划题解——单词拆分【LeetCode】
  • openEuler系统PCIE降速方法简介
  • 【2025/07/14】GitHub 今日热门项目
  • Self - RAG工作步骤
  • 【HTML】五子棋(精美版)
  • 【Java EE】多线程-初阶 认识线程(Thread)
  • 【C语言进阶】指针面试题详解(2)
  • 面试 | JS 面试题 整理(更ing)2/34
  • Android 16系统源码_窗口动画(二)窗口显示动画源码调用流程
  • 护照阅读器:国外证件识别的 OCR “解码师”
  • Python 中调用阿里云 OCR(Optical Character Recognition,光学字符识别)服务
  • STM32介绍和GPIO
  • stm32-Modbus主机移植程序理解以及实战
  • argus/nvarguscamerasrc 远程显示报错
  • 项目一第一天
  • 纯数学专业VS应用数学专业:这两个哪个就业面更广?
  • C++后端面试八股文
  • Linux 基础命令详解:从入门到实践(1)
  • JAVA 并发 ThreadLocal
  • RestAssured(Java)使用详解
  • 19.数据增强技术