Linux性能分析专题屠龙宝刀绘制传说中的cpu火焰图
Posted 奇妙之二进制
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux性能分析专题屠龙宝刀绘制传说中的cpu火焰图相关的知识,希望对你有一定的参考价值。
火焰图(Flame Graph)是由Linux性能优化大师Brendan Gregg发明的,和所有其他的trace和profiling方法不同的是,Flame Graph以一个全局的视野来看待时间分布,它从底部往顶部,列出所有可能的调用栈。其他的呈现方法,一般只能列出单一的调用栈或者非层次化的时间分布。
以典型的分析CPU时间花费到哪个函数的on-cpu火焰图为例来展开。CPU火焰图中的每一个方框是一个函数,方框的长度,代表了它的执行时间,所以越宽的函数,执行越久。火焰图的楼层每高一层,就是更深一级的函数被调用,最顶层的函数,是叶子函数。
火焰图的生成过程是:
-
先trace系统,获取系统的profiling数据
-
用脚本来绘制
脚本获取:git clone https://github.com/brendangregg/FlameGraph
下面通过实例来体验以下火焰图的生成过程:
#include <pthread.h>
func_d()
</
以上是关于Linux性能分析专题屠龙宝刀绘制传说中的cpu火焰图的主要内容,如果未能解决你的问题,请参考以下文章