美文网首页
使用火焰图

使用火焰图

作者: 明明就_c565 | 来源:发表于2018-11-27 14:20 被阅读0次

安装perf和可视化生成器

[root@localhost heweiwei]# yum install perf -y

[root@localhost heweiwei]# git clone https://github.com/brendangregg/FlameGraph.git

perf 采集数据

[root@localhost heweiwei]# perf record -F99-p3887-g -- sleep 30

生成火焰图

[root@localhost heweiwei]# perf script -i perf.data &> perf.unfold

[root@localhost heweiwei]# ./FlameGraph/stackcollapse-perf.pl perf.unfold &> perf.folded

[root@localhost heweiwei]# ./FlameGraph/flamegraph.pl perf.folded > perf.svg

可用浏览器打开 perf.svg

火焰图的含义

火焰图是基于 stack 信息生成的 SVG 图片, 用来展示 CPU 的调用栈。

y 轴表示调用栈, 每一层都是一个函数. 调用栈越深, 火焰就越高, 顶部就是正在执行的函数, 下方都是它的父函数.

x 轴表示抽样数, 如果一个函数在 x 轴占据的宽度越宽, 就表示它被抽到的次数多, 即执行的时间长. 注意, x 轴不代表时间, 而是所有的调用栈合并后, 按字母顺序排列的.

火焰图就是看顶层的哪个函数占据的宽度最大. 只要有 “平顶”(plateaus), 就表示该函数可能存在性能问题。

颜色没有特殊含义, 因为火焰图表示的是 CPU 的繁忙程度, 所以一般选择暖色调.

参考

https://blog.csdn.net/gatieme/article/details/78885908

相关文章

  • 使用火焰图

    安装perf和可视化生成器 [root@localhost heweiwei]# yum install perf...

  • erlang火焰图

    erlang火焰图 目录 火焰图相关什么是火焰图火焰图的意义 erlang火焰图如何绘制erlang火焰图erla...

  • 【火焰图】使用火焰图做性能分析

    白话火焰图https://blog.huoding.com/2016/08/18/531[https://blog...

  • golang使用火焰图

    开发程序过程中常常要分析程序内存占用情况,CPU使用情况等等。 golang自带这些分析工具 1. 收集数据 需要...

  • IDEA 中使用火焰图

    背景 IntelliJ IDEA 与以下分析工具集成: Async Profiler:适用于 Linux 和 ma...

  • 火焰图

    首先用 perf script 工具对 perf.data 进行解析 将解析出来的信息存下来, 供生成火焰图,首先...

  • 火焰图

    火焰图是性能分析的一大利器。可以抓取某个进程在一段时间内的函数调用栈的分布情况,从而知道哪些函数执行时间过长。 火...

  • 2、红帽性能调优——火焰图使用perf生成火焰图

    火焰图就像是给一个软件系统拍的 X 光照片,可以很自然地把时间和空间两个维度上的信息融合在一张图上,以非常直观的形...

  • Java 火焰图

    火焰图是进行性能分析的工具,可以通过Flame Graph获取指定程序的火焰图,目前IDEA也增添了火焰图功能,叫...

  • 超好用的自带火焰图的 Java 性能分析工具 Async-pro

    最近 Arthas 性能分析工具上线了火焰图分析功能,Arthas 使用 async-profiler 生成 C...

网友评论

      本文标题:使用火焰图

      本文链接:https://www.haomeiwen.com/subject/psegqqtx.html