perf火焰图原生分析Linux cpu性能

发布时间 2023-05-20 18:44:28作者: tigergaonotes
perf record -a -g -p 16787 -- sleep 30
会生成perf data在当前目录下:
-rw-------  1 root    root      1068092 May 21 18:11 perf.data

yum -y install git
git clone https://github.com/brendangregg/FlameGraph.git

生成火焰图


perf script -i perf.data &> perf.unfold                        

./FlameGraph/stackcollapse-perf.pl perf.unfold &> perf.folded 
             
//执行完成后生成perf.svg图片,可以下载到本地,用浏览器打开 perf.svg
./FlameGraph/flamegraph.pl perf.folded > perf.svg  

perf report:

 

 将perf.svg下载到本地,用浏览器打开,可以观察到具体的cpu执行函数以及性能趋势图。

火焰图就是看顶层的哪个函数占据的宽度最大. 只要有 “平顶”(plateaus), 就表示该函数可能存在性能问题。

颜色没有特殊含义, 因为火焰图表示的是 CPU 的繁忙程度, 所以一般选择暖色调.