arm linux 生成火焰图

aarch32  arm-linux-gnueabihf-gcc linux4.9

perf 工具 linux/tools/perf  ./build.sh

perf 采集栈信息的linux支持

CONFIG_PERF_EVENTS=y
CONFIG_HW_PERF_EVENTS=y

CONFIG_SCHED_INFO=y
CONFIG_SCHEDSTATS=y

根据README

采集命令./perf record -F [sample freq] -p [pid] -g -- sleep [time]

ON-CPU:

perf record -F 99 -p 1140 -g -- sleep 60
perf script > out.perf

OFF-CPU:

perf record -e sched:sched_stat_sleep -e sched:sched_switch -e sched:sched_process_exit -p [pid] -g -o perf.data.raw sleep 10
perf inject -v -s -i perf.data.raw -o perf.data

生成火焰图:

下载生成火焰图的脚本 https://github.com/brendangregg/FlameGraph

stackcollapse-perf.pl out.perf > out.folded

flamegraph.pl out.folded > kernel.svg

ON-CPU

arm linux 生成火焰图

OFF-CPU