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.git
2、记录
# 执行频率是 99Hz(每秒99次)
perf record -F 99 -p 13204 -g -- sleep 30
3、用perf script工具对perf.data进行解析
perf script -i perf.data &> perf.unfold
4、将perf.unfold中的符号进行折叠:
FlameGraph/stackcollapse-perf.pl perf.unfold &> perf.folded
5、最初生成svg图:
FlameGraph/flamegraph.pl perf.folded > perf.svg
6、浏览器关上svg文件
发表回复