linux火焰图的生成

安装依赖:
yum -y install perf.x86_64
git clone https://github.com/brendangregg/FlameGraph.git

将FlameGraph加入PATH:
export PATH=xxx/FlameGraph:$PATH

cp -r xxx/FlameGraph/* ~/bin/

录制函数调用取样数据:
perf record -F 每秒取样频次 -p 进程ID -g -- sleep 取样秒数
也可以根据进程名
perf record -F 每秒取样频次 -p `ps aux | grep '进程名' | grep -v 'grep' | awk '{print $2}'` -g -- sleep 取样秒数
如果是多线程程序可以指定录制的线程ID
perf record -F 每秒取样频次 -p 线程ID -g -- sleep 取样秒数

得到采样数据perf.data后再进行以下步骤:
perf script -i perf.data &> perf.unfold
stackcollapse-perf.pl perf.unfold &> perf.folded
flamegraph.pl perf.folded > perf.svg

将perf.svg用浏览器打开。

你可能感兴趣的:(c/shell/linux,火焰图)