1.下载FlameGraph火焰图工具
git clone https://github.com/brendangregg/FlameGraph.git
2.记录数据(需使用root)
以下变量根据实际情况替换
username=启动程序的用户
programname=进程名
rm -rf perfdata
mkdir perfdata
nohup `ps -u username |grep programname|grep -v grep|awk '{print $1}' | xargs perf record --call-graph dwarf -e cpu-clock -o ./perfdata/programname.data -p` &
3.数据处理和绘图
perf script -i perfdata/programname.data &> perfdata/programname.unfold
FlameGraph/stackcollapse-perf.pl perfdata/programname.unfold &> perfdata/programname.folded
FlameGraph/flamegraph.pl perfdata/programname.folded > perfdata/programname.svg