本文主要是介绍性能测试工具三——perf + FlameGraph(采样测试),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1. 安装
sudo apt install linux-tools-common
如果没安装成功可尝试制定特定内核版本的工具,例如sudo apt install linux-tools-6.5.0-27-generic
。
2. 使用perf
Step1:编译得到可执行程序,假设是a.out
。
Step2:执行类似如下指令,sudo perf record -F 1000 --call-graph dwarf ./a.out
。其中1000是采样频率, 如果太高可能会丢数据来不及捕获 ,如果太低统计数据的精细度不够。
Step3:执行sudo perf report -n
即可查看耗时详情:
3. 结合perf
和FlameGraph
生成火焰🔥图
Step1:先下载FlameGraph
源码,git clone https://github.com/brendangregg/FlameGraph.git
。无需安装,后续步骤都是制定源码中文件的路径。
Step2:在章节2中可执行程序a.out
的同路径下执行sudo perf script | ../FlameGraph/stackcollapse-perf.pl > out.perf
。如果路径不对会有错误提示failed to open perf.data: No such file or directory (try 'perf record' first)
。
Step3:执行sudo ../FlameGraph/flamegraph.pl out.perf > perf.svg
。
Step4:打开perf.svg
文件,open perf.svg
。
这篇关于性能测试工具三——perf + FlameGraph(采样测试)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!