- perf trace
perf trace:类似strace,可以跟踪系统调用。确认执行耗时
perf trace -p 4416 --max-stack 8 --call-graph fp --duration 5 -T -o out.txt sleep 300
- perf record
perf record:收集采样信息,并将其记录在数据文件中。随后可通过其它工具对数据文件进行分析。
perf record 生成火焰图
perf record -t 123(线程id)/ -p 123(进程id) --call-graph fp -F 10000 -o /home/mogo/data/jiaopeng/perf.data sleep 5 (注意在镜像里面执行)
sudo perf script -i perf.data > perf.unfold
FlameGraph/stackcollapse-perf.pl perf.unfold &(去掉)> perf.folded
FlameGraph/flamegraph.pl perf.folded > perf-talk.svg
火焰图是一种可视化工具,用于显示程序在执行期间的 CPU 使用情况。它采用颜色编码技术来表示不同函数或代码块的 CPU 占用率。火焰图通常由左侧垂直轴和右侧水平轴组成。左侧轴显示调用堆栈信息,而右侧轴则表示时间线。每个矩形框代表一个函数或代码块,并使用不同的颜色表示该函数或代码块占据的 CPU 时间比例。矩形框越高,则相应函数或代码块使用 CPU 的时间越长。火焰图可以帮助开发人员识别哪些函数或代码块是性能瓶颈,从而优化程序性能。此外,它还可以帮助开发人员理解程序的执行流程和逻辑。