首页/系统/Linux 运维命令速查/perf record/report 采样分析
性能与监控48 条

perf record/report 采样分析

Linux 自带性能剖析:perf record 采样调用栈、perf report 看热点函数;比 top 更进一步回答「CPU 花在哪个函数」。

Linux 运维命令速查系统更新于 2026-10-12
用途CPU 热点函数级剖析
语法perf record -F 99 -g -p PID -- sleep 30 && perf report
符号缺符号装 debuginfo/-dbg 包)

采样与查看

采样与查看
sudo perf record -F 99 -g -p $(pgrep -f app.jar | head -1) -- sleep 30
sudo perf report --stdio | head -n 40

# 火焰图数据(配合 FlameGraph 脚本)
sudo perf script > /tmp/perf.script
# stackcollapse-perf.pl /tmp/perf.script | flamegraph.pl > /tmp/flame.svg

全系统采样

全系统采样
sudo perf top -F 99          # 实时观察
sudo perf stat -p PID -- sleep 5   # 计数视角(IPC、cache miss)
符号缺失时显示地址:安装对应 debuginfo(如 java-11-openjdk-debuginfo)后重采。

易错点

  • -F 99 的高频采样在大集群有开销:短时窗口抓取,别长期挂着
  • 容器内 perf 受 seccomp/perf_event_paranoid 限制,必要时调整内核参数或宿主抓取

数据来源与参考

  • perf 官方文档(perf-record/perf-report)
  • Brendan Gregg:perf 使用指南

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌