在 Ubuntu 系统下安装和使用性能分析工具 perf
的步骤如下:
1. 安装 perf
perf
是 Linux 内核的一部分,通常通过安装 linux-tools
包获取:
# 更新软件包列表
sudo apt update# 安装 perf(根据当前内核版本自动匹配)
sudo apt install linux-tools-common linux-tools-generic linux-tools-$(uname -r)
- 如果提示
linux-tools-$(uname -r)
不可用,可能是你的内核版本较新或未更新。可以尝试:sudo apt install linux-tools-generic
2. 验证安装
perf --version
如果正常输出版本信息(如 perf version 5.15.0
),则安装成功。
3. 解决常见问题
问题1:找不到 perf
命令
- 原因:内核版本与工具包不匹配。
- 解决:
# 查看当前内核版本 uname -r# 安装对应版本的工具包(替换为你的内核版本,例如 5.15.0-76-generic) sudo apt install linux-tools-5.15.0-76-generic
问题2:权限不足
运行 perf
需要 root 权限或调整 /proc/sys/kernel/perf_event_paranoid
:
# 临时降低安全限制(允许普通用户使用 perf)
sudo sh -c 'echo 1 >/proc/sys/kernel/perf_event_paranoid'# 或直接以 root 运行
sudo perf stat ls
4. 基本用法示例
统计命令执行性能
perf stat ls
采样 CPU 使用情况
# 采样 5 秒内 CPU 热点
perf record -F 99 -a -g -- sleep 5
perf report
查看函数调用图
perf top -g
5. 高级功能
-
火焰图生成:
- 安装依赖:
sudo apt install git flamegraph
- 使用脚本生成火焰图:
git clone https://github.com/brendangregg/FlameGraph perf script | ./FlameGraph/stackcollapse-perf.pl | ./FlameGraph/flamegraph.pl > output.svg
- 安装依赖:
-
监控特定进程:
perf top -p <PID>
6. 卸载 perf
sudo apt remove linux-tools-$(uname -r) linux-tools-generic
通过以上步骤,你可以在 Ubuntu 上顺利安装并使用 perf
进行性能分析。如果需要更详细的功能(如硬件事件监控),可能需要内核调试符号包(linux-image-dbg
)。