使用火焰图分析程序瓶颈
高性能计算 HPC 可视化 29

火焰图开源仓库:

https://github.com/brendangregg/FlameGraph

gitclone到本地

然后使用下面的脚本很快速的生成一张火焰图(我还给输出文件名加了一个时间戳防止覆盖之前的图):

EXE=./xxx #可执行文件
perf record -e cpu-clock -g mpirun -n 10 $EXE ./data/test/test.data verbose=1
perf script -i perf.data &> perf.unfold
./FlameGraph/stackcollapse-perf.pl perf.unfold &> perf.folded
timestamp=$(date +"%Y%m%d-%H%M%S")
./FlameGraph/flamegraph.pl perf.folded > perf-$timestamp.svg

生成的火焰图svg使用浏览器就可以打开

越长的表示运行时间越久,越可能是程序运行的瓶颈,可以双击一直查看调用栈,直到最上层

使用火焰图分析程序瓶颈
https://blog.stmoonar.me/2024/flame-graph-for-perf
作者
stmoonar
发布于
更新于
许可