首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >在Ubuntu系统下使用mpstat工具监控CPU性能

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

原创
作者头像
江湖有缘
发布2025-09-11 13:58:32
发布2025-09-11 13:58:32
2510
举报
文章被收录于专栏:Linux成长之路Linux成长之路

一、mpstat简介

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

二、安装 mpstat

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

代码语言:bash
复制
apt update
apt install sysstat -y
在这里插入图片描述
在这里插入图片描述

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

代码语言:bash
复制
systemctl enable sysstat
systemctl start sysstat

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

代码语言:bash
复制
 systemctl status sysstat
在这里插入图片描述
在这里插入图片描述

三、mpstat基本用法

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

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

代码语言:bash
复制
mpstat
代码语言:bash
复制
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 核心的实时性能:

代码语言:bash
复制
 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 次。

代码语言:bash
复制
 mpstat 2 5
在这里插入图片描述
在这里插入图片描述

3.4 常用选项解释及示例

常用选项详解

选项

说明

-P {ALL|CPU编号}

监控所有 CPU 核心(ALL)或指定编号的核心(如 -P 0)。

-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 输出解析

代码语言:bash
复制
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 的百分比。

%iowait

CPU 等待 I/O 操作完成的时间占比。

%irq

处理硬件中断的时间占比。

%soft

处理软件中断的时间占比。

%steal

虚拟机管理程序从虚拟机中“窃取”的 CPU 时间(仅适用于虚拟化环境)。

%idle

CPU 空闲时间占比。

3.6 实际应用场景

  1. 排查 CPU 瓶颈undefined如果 %usr%sys 持续高于 70%,可能表示 CPU 资源不足,需优化程序或升级硬件。
  2. 检查 I/O 等待问题undefined若 %iowait 显著偏高,可能是磁盘或网络 I/O 瓶颈,需进一步检查存储设备或网络配置。
  3. 监控多核负载均衡undefined使用 -P ALL 可查看各核心的利用率是否均衡,若某些核心负载过高,可能需要调整进程分配。

四、总结

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


原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、mpstat简介
  • 二、安装 mpstat
  • 三、mpstat基本用法
    • 3.1 查看所有 CPU 的平均使用情况
    • 3.2 监控所有 CPU 核心的实时数据
    • 3.3 设置采样间隔和次数*
    • 3.4 常用选项解释及示例
    • 3.5 输出解析
    • 3.6 实际应用场景
  • 四、总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档