当前位置:首页>Linux>Linux CPU 性能分析工具(1)

Linux CPU 性能分析工具(1)

  • 2026-10-11 06:15:59
Linux CPU 性能分析工具(1)

Linux CPU 性能分析工具(1)

掌握 Linux CPU 性能分析工具,是每一位 Linux 工程师、SRE、DevOps 和性能工程师的基本功。本文介绍 Linux 最常用的 CPU 性能分析工具,包括 vmstat、top、mpstat、ps、pidstat、time 和 perf,并讲解它们适用的场景、常用参数以及分析思路。

一、CPU 性能分析思路

CPU 性能分析一般遵循以下流程:

CPU 利用率高?

│

▼

top / vmstat / mpstat

│

▼

哪个进程占用 CPU?

│

▼

top / ps / pidstat

│

▼

哪个线程?

│

▼

top -H

ps -Lp

pidstat -t

│

▼

哪个函数最耗 CPU?

│

▼

perf top

perf record

perf report

二、vmstat——系统整体运行状态

作用

查看整个系统的 CPU、内存、上下文切换和运行队列。

也是 Linux 性能分析最经典的命令之一。

vmstat 1

输出示例:

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----

rbswpdfreebuff cachesi so bi boincs us sy id wa st

200 12345 10000 800000000 1200 3000 40 10 4820

重点字段:

适合:

●查看系统是否 CPU 忙

●是否 Context Switch 很高

●是否 IO Wait 很高

三、top——实时监控

作用

Linux 最常用的实时性能监控工具。

top

主要指标:

%Cpu(s): 80 us, 10 sy, 5 id, 5 wa

分别表示:

●us(User)

●sy(System)

●id(Idle)

●wa(IO Wait)

常用快捷键:

P

按 CPU 排序。

M

按内存排序。

1

查看所有 CPU。

H

查看线程。

适合:

●找高 CPU 进程

●找高 CPU 线程

四、mpstat——CPU 利用率统计

安装:

sudo apt install sysstat

查看所有 CPU:

mpstat -P ALL 1

示例:

CPU%usr %sys %idle

020575

19082

210288

适合:

●查看每个 CPU 是否均衡

●NUMA 分析

●IRQ 是否集中某几个 CPU

五、ps——查看进程

查看 CPU 排名前十:

ps aux --sort=-%cpu

查看线程:

ps -Lp PID

查看线程 CPU:

ps -Lp PID -o pid,tid,%cpu,comm

适合:

●查看进程

●查看线程

●查看 CPU 使用率

六、pidstat——查看进程和线程历史

安装:

sudo apt install sysstat

查看 CPU:

pidstat 1

查看线程:

pidstat -t 1

查看指定进程:

pidstat -p PID 1

优点:

可以连续观察 CPU 变化。

相比 top:

●更适合日志记录

●更适合线上分析

七、time——统计程序运行时间

Linux 自带:

time ./app

输出:

real3.2s

user5.6s

sys0.3s

三个时间:

real

真实耗时

开始

│

│

结束

user

用户态 CPU 时间。

sys

内核态 CPU 时间。

例如:

user > real

说明程序利用了多线程。

八、perf——Linux 最强性能分析工具

perf 是 Linux 官方性能分析工具。

查看热点:

perf top

采样:

perf record ./app

生成报告:

perf report

查看硬件计数器:

perf stat ./app

输出:

cycles

instructions

cache-misses

branches

branch-misses

IPC

perf 可以回答:

●CPU 在执行哪个函数?

●Cache Miss 是否严重?

●IPC 是否低?

●Branch Miss 是否高?

它是 Linux CPU Profiling 最重要的工具。

九、工具对比

十、CPU 性能分析推荐流程

实际工作中,建议按以下顺序排查 CPU 问题:

CPU 高?

│

▼

vmstat

│

▼

top

│

▼

ps / pidstat

│

▼

top -H

│

▼

perf top

│

▼

perf record

│

▼

perf report

这种分析思路遵循 "由宏观到微观、由系统到进程、由进程到线程、由线程到函数" 的原则,能够快速定位 CPU 瓶颈。

总结

vmstat、top、mpstat、ps、pidstat、time 和 perf 是 Linux CPU 性能分析中最常用的工具。它们覆盖了从系统整体、CPU 核心、进程、线程到函数级别的完整分析链路。

在实际生产环境中,这些工具通常配合使用:先利用 vmstat、top 和 mpstat 判断系统整体负载,再通过 ps、pidstat 和 top -H 定位具体进程和线程,最后借助 perf 深入分析函数热点、缓存命中率和指令执行效率。 熟练掌握这套工具,是 Linux 性能调优和故障排查的核心技能

最新文章

随机文章