文章目录
- 1,top发现webserver进程空转情况下CPU占用高达200%
- 2,使用性能分析工具perf来进行分析
- 2.1,抓取采集样本
- 2.2,使用perf简单分析性能数据
- 3,火焰图
- 3.1,生成火焰图
- 3.2,将生成的.svg文件用浏览器打开
1,top发现webserver进程空转情况下CPU占用高达200%
2,使用性能分析工具perf来进行分析
2.1,抓取采集样本
perf record -F 99 -p 186 -g -e cpu-clock -- sleep 30
-g 选项是告诉perf record额外记录函数的调用关系
-e cpu-clock 指perf record监控的指标为cpu周期
-p 186 指定需要record的进程pid是186
-F 99 是表示每秒采样99次
2.2,使用perf简单分析性能数据
perf report -n --stdio
可以将其写入文件中
perf report -n --stdio > 1.txt
但是分析起来不是很直观,所以需要借助火焰图
3,火焰图
3.1,生成火焰图
perf script >out.perf
/xxxx/FlameGraph-master/FlameGraph-master/stackcollapse-perf.pl out.perf >out.folded
/xxxx/FlameGraph-master/FlameGraph-master/flamegraph.pl out.folded >out.svg