#!/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性能火焰图生成】