Perf工具及火焰图

perf工具常用命令 1、Perf Stat:分析性能(Ctrl +C 结束收集) perf stat -p $pid -d# 进程级别统计 perf stat -a -d sleep 5# 系统整体统计2、Perf Top:实时显示系统/进程的性能统计信息 # 默认性能事件为 cycles ( CPU 周期数 )。与 Linux top tool 功能类似 perf top -p $pid -g# 进程级别 perf top -g# 系统整体3、Perf Record:记录一段时间内系统/进程的性能事件 # 默认性能事件为 cycles ( CPU 周期数 )。 perf record -p $pid -g #进程采样 perf record -p $pid -g -e cycles -e cs #进程采样,指定事件 perf record -a -g -e cycles -e cs #系统整体采样4、perf report: 统计每个调用栈出现的百分比,然后从高到低排列。 # 读取perf record创建的数据文件(默认读取当前目录perf.data), perf report -n --stdio perf结果转换火焰图 1、下载火焰图工具 # 工具源码内部脚本文件可以直接使用 git clone https://github.com/brendangregg/FlameGraph.git2、记录 # 执行频率是 99Hz(每秒99次) perf record -F 99 -p 13204 -g -- sleep 303、用perf script工具对perf.data进行解析 perf script -i perf.data &> perf.unfold4、将perf.unfold中的符号进行折叠: FlameGraph/stackcollapse-perf.pl perf.unfold &> perf.folded5、最后生成svg图: FlameGraph/flamegraph.pl perf.folded > perf.svg6、浏览器打开svg文件

    推荐阅读