性能分析工具

Posted by shensunbo on November 4, 2025

prepare environment

非wsl环境安装perf

sudo apt-get install linux-tools-common linux-tools-$(uname -r)

wsl环境安装perf

sudo apt install linux-tools-common linux-tools-generic

下载 FlameGraph

git clone https://github.com/brendangregg/FlameGraph.git

wsl2 使用perf

查看内核版本

1
2
ls  /usr/lib/linux-tools/
-> 5.15.0-161-generic

绝对路径使用perf

sudo /usr/lib/linux-tools/5.15.0-161-generic/perf record -g – ./your_app 会生成 perf.data 文件

使用 perf script导出数据

sudo /usr/lib/linux-tools/5.15.0-161-generic/perf script > perf.script

生成火焰图

生成火焰图数据

请将 /path/to/ 替换为你实际的 FlameGraph 路径,例如 ~/FlameGraph/

./FlameGraph/stackcollapse-perf.pl < perf.script | ./FlameGraph/flamegraph.pl > perf.svg 会生成 perf.svg 文件

使用浏览器查看火焰图

FlameGraph

简化命令

生成 perf.data

echo “alias perf-wsl=’sudo /usr/lib/linux-tools/5.15.0-161-generic/perf’” » ~/.bashrc source ~/.bashrc

perf-wsl record -g -o perf/perf.data – bazel-bin/src/refactor_test perf-wsl script -i perf/perf.data > perf/perf.script

在shell脚本中不生效

生成火焰图

/home/shensunbo/FlameGraph/stackcollapse-perf.pl < perf/perf.script | /home/shensunbo/FlameGraph/flamegraph.pl > perf/perf.svg