温馨提示×

centos cpustat如何学习

小樊
48
2026-10-09 02:59:04
栏目: 智能运维

在 CentOS(以及其它 Linux 发行版)里,cpustat 通常是指 sysstat 包中的 mpstat / sar,或者 Oracle 提供的 cpustat 工具(主要用于 Solaris,Linux 上较少见)。在 CentOS 学习 CPU 性能分析时,一般更常用的是 sysstat 工具集(mpstat、sar、iostat 等)。

下面我按「从入门到进阶」给你一个学习路径。


一、确认你用的是哪种 cpustat

1. 检查是否安装了 sysstat

rpm -qa | grep sysstat
# 或
which mpstat sar

如果没有:

yum install -y sysstat

2. CentOS 常见 CPU 监控命令

工具 作用
mpstat 实时查看每个 CPU 使用率
sar -u 查看历史 / 实时 CPU 统计
top / htop 进程级 CPU 查看
vmstat CPU + 内存 + IO 概览

二、基础学习(先会看)

1. 实时查看 CPU 使用率

mpstat 1

每秒刷新一次所有 CPU。

mpstat -P ALL 1

查看每个核心。

关键字段:

  • %usr:用户态
  • %sys:内核态
  • %iowait:等 IO(很重要)
  • %idle:空闲

2. 查看历史 CPU(sar)

sar -u 1 3

查看某天的历史(默认保留 28 天):

sar -u -f /var/log/sa/sa15

三、结合问题学习(实战型)

场景 1:CPU 很高但业务不忙

mpstat -P ALL 1
  • %sys 高 → 内核问题(中断、锁)
  • %iowait 高 → 磁盘瓶颈

场景 2:哪个进程吃 CPU

top -c
# 或
pidstat 1

四、进阶学习(理解原理)

1. 理解 CPU 时间划分

  • user / system
  • interrupt
  • softirq
  • steal(虚拟机)

2. 学习 /proc 接口

cat /proc/stat

这是 mpstat 的数据来源。

3. 性能分析流程(推荐)

load高 → mpstat → pidstat → perf

五、推荐学习资料

文档

man mpstat
man sar

书籍

  • 《性能之巅》(Brendan Gregg)
  • 《Linux 性能优化实战》(倪朋飞)

练习环境

yum install -y stress
stress -c 4

六、如果你指的是 Solaris 的 cpustat

在 CentOS 上基本不用,建议直接用:

  • perf
  • mpstat
  • sar

如果你愿意,可以告诉我:

  • 你是 运维 / 开发 / 学生?
  • 是想 排查问题 还是 系统学习性能?

我可以直接给你一个「定制学习路线」。

0 踩