Linux工具-火焰图
参考文献
Flame Graph
火焰图的类型
On-CPU
火焰图: CPU占用高的问题Off-CPU
火焰图: I/O,网络阻塞,锁竞争,死锁导致的性能下降- 内存火焰图: 申请,释放内存多,内存泄漏
Hot/Cold
火焰图: 结合On-CPU
和Off-CPU
火焰图- 其他火焰图:
JVM
,浏览器
如何读火焰图
- X轴
- 由多个方块组成,每个方块表示一个函数
- 函数在X轴占据的宽度越宽,表示它被采样到的次数越多,可以简单的粗暴的近似理解为执行时间
- Y轴
- 表示函数调用栈,调用栈越深,火焰越高
- 顶部是CPU正在执行的函数,下方是它的父函数
火焰图生成的步骤
采集堆栈
- perf
- SystemTap
- sample-bt
折叠堆栈
生成火焰图
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 HoleLin's Blog!