记录工具使用说明,火焰图原理网上分析很多。主要用来分析函数调用栈占用的cpu利用率,分析函数性能。
perf安装:
sudo apt-get install linux-tools-common
sudo apt-get install linux-tools-"(uname -r)"
sudo apt-get install linux-tools-generic
sudo apt-get install linux-cloud-tools-generic
Flame Graph获取
https://gitcode.net/muaxi8/flamegraph
或
git clone https://github.com/brendangregg/FlameGraph.git
1.捕获单个进程:
perf record -F 99 -g -- 可执行文件名
例:
perf record -F 99 -g -- ./bin/sampleYolov5-Plugin
- 使用perf script工具对perf.data进行解析
perf script > perf.unfold
3.输出折叠图
perf-master/FlameGraph/stackcollapse-perf.pl perf.unfoled > perf.fold
4.输出渲染图
perf-master/FlameGraph/flamegraph.pl perf.fold > out.svg
浏览器打开svg文件,查看顶层的宽度比较大的函数,平顶的表示性能可能存在问题,ctrl +F可以搜索函数名,得到函数的cpu利用率