perf火焰图原生分析Linux cpu性能
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 的繁忙程度, 所以一般选择暖色调.