LinuxCPU使用率查看方法详解
时间:2026-04-24 12:24:50 385浏览 收藏
本文详细介绍了如何在Linux系统中精准监控CPU使用率,重点推荐了功能强大且多核友好的mpstat工具——它不仅能快速查看整体CPU负载,还能按毫秒级精度分核统计各逻辑CPU的实时占用、捕获短时峰值、识别单核过载或I/O等待异常,并结合sysstat服务实现长期历史数据归档与回溯分析,是运维人员和系统工程师进行性能诊断与容量规划不可或缺的实战指南。

如果您需要在Linux系统中精确查看每个CPU核心的实时使用率,则mpstat工具能提供比top或vmstat更细致的多核统计信息。以下是使用mpstat查看CPU占用的具体操作步骤:
一、安装sysstat工具包
mpstat命令属于sysstat软件包,多数Linux发行版默认未预装,需手动安装。该工具包还包含iostat、sar等系统性能分析命令。
1、在基于Debian/Ubuntu的系统中,执行:sudo apt-get update && sudo apt-get install sysstat
2、在基于RHEL/CentOS/Rocky Linux的系统中,执行:sudo yum install sysstat(CentOS 7及更早)或 sudo dnf install sysstat(RHEL 8+ / Rocky 9)
3、安装完成后,可运行 mpstat -V 验证版本信息,确认安装成功。
二、使用mpstat查看整体CPU使用率
mpstat默认输出单行汇总统计,反映所有CPU核心的平均使用情况,适合快速掌握系统整体负载水平。
1、在终端中输入:mpstat,按回车执行(无参数时显示自系统启动以来的平均值)
2、观察输出中“%usr”、“%sys”、“%idle”等列:其中%usr表示用户态CPU时间占比,%sys为内核态占比,%idle为空闲占比;三者之和接近100%
3、若需实时刷新,默认间隔为1秒,可直接运行:mpstat 1
三、使用mpstat查看各CPU核心独立使用率
通过指定-p all参数,mpstat可分别列出每个逻辑CPU(包括超线程核心)的详细占用数据,便于定位单核过载问题。
1、执行命令:mpstat -P ALL 1(-P等价于-p,ALL必须大写)
2、输出首行为全局平均值(CPU字段显示为all),其后每行对应一个CPU编号(如CPU 0、CPU 1…),各列含义与整体模式一致
3、持续观察时,若某CPU的%usr + %sys长期高于90%,而其他核心处于低负载状态,可能表明存在线程绑定或调度不均问题
四、使用mpstat捕获指定时段峰值数据
结合计数参数可限制采样次数,用于短时高精度监控,避免日志无限增长,适用于故障复现期间的数据抓取。
1、执行:mpstat -P ALL 0.5 10,表示每500毫秒采集一次,共采集10次(即覆盖5秒窗口)
2、输出末尾将追加一行“Average:”,显示该时段内各CPU的算术平均值
3、重点关注“%iowait”列:若某核心该值显著偏高(如>20%),说明该CPU正大量等待I/O完成,需同步检查磁盘或存储子系统响应
五、启用sysstat服务实现历史数据记录
mpstat本身不保存历史数据,但sysstat包附带的sa1/sa2服务可定时采集并归档CPU、内存、IO等指标,支持后续用sar回溯分析。
1、启用服务(以systemd为例):sudo systemctl enable --now sysstat
2、验证服务状态:sudo systemctl status sysstat,应显示active (running)
3、默认配置下,每10分钟执行一次数据采集,原始文件存于/var/log/sa/saXX(XX为当前日期),可用sar -u 1 5调取最近内存中的实时数据,或用sar -u -f /var/log/sa/sa29读取3月29日的归档记录
文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《LinuxCPU使用率查看方法详解》文章吧,也可关注golang学习网公众号了解相关技术文章。
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
478 收藏
-
185 收藏
-
284 收藏
-
479 收藏
-
333 收藏
-
359 收藏
-
336 收藏
-
385 收藏
-
199 收藏
-
381 收藏
-
431 收藏
-
396 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习