#!/bin/bash

#sudo sh -c 'echo kernel.perf_event_paranoid=1 >> /etc/sysctl.d/99-perf.conf'
#sudo sh -c 'echo kernel.kptr_restrict=0 >> /etc/sysctl.d/99-perf.conf'
#sudo sh -c 'sysctl --system'

DU=${1:-900}
echo $DU

TIME=`date +%s`
DIR=perf_$TIME

mkdir -pv $DIR

cd $DIR

perf record -F 10000 -p `pidof demo_online_dy` -ag -- sleep $DU
perf script > out.perf

/opt/FlameGraph/stackcollapse-perf.pl out.perf > out.folded
/opt/FlameGraph/flamegraph.pl out.folded > "cpu.$TIME.svg"

# diff:/opt/difffolded.pl out.folded1 out.folded2 | ./flamegraph.pl > diff2.svg


备份地址: 【perf性能火焰图生成