Java 8 - CPU 火焰图

一则或许对你有用的小广告

欢迎加入小哈的星球 ,你将获得:专属的项目实战 / Java 学习路线 / 一对一提问 / 学习打卡/ 赠书活动

目前,正在 星球 内带小伙伴们做第一个项目:全栈前后端分离博客项目,采用技术栈 Spring Boot + Mybatis Plus + Vue 3.x + Vite 4手把手,前端 + 后端全栈开发,从 0 到 1 讲解每个功能点开发步骤,1v1 答疑,陪伴式直到项目上线,目前已更新了 204 小节,累计 32w+ 字,讲解图:1416 张,还在持续爆肝中,后续还会上新更多项目,目标是将 Java 领域典型的项目都整上,如秒杀系统、在线商城、IM 即时通讯、权限管理等等,已有 870+ 小伙伴加入,欢迎点击围观

来自 Netflix 的 Brendan Gregg 和 Martin Spier 最近分享了一篇非常有趣的文章,标题为 Java in Flames ,描述了他们使用新的 JDK 选项 (-XX:+PreserveFramePointer) 进行的最新实验,该选项允许他们创建完整的 CPU 消费者视图作为“火焰”图.本文是高级读物,但对 Java 性能爱好者来说非常有趣。

这个选项现在包含在最近发布的 JDK 8u60 中。

我们将很快创建我们自己的实验,并发布一个视频来探索这种实时 CPU 分析功能与现有 CPU 分析工具和技术的对比。正如文章中提到的,一个明显的附加值是自动化和可视化版本或代码更改之间的 CPU 利用率增量(与既定基线的偏差)。

这种方法将允许快速检测 CPU 瓶颈或软件更改后的改进,从长远来看提高生产环境的整体性能和可扩展性,并控制云或本地硬件成本。

这是 原始文章 的一小段:

“Java 混合模式火焰图提供了 CPU 使用情况的完整可视化,并且刚刚通过新的 JDK 选项成为可能:-XX:+PreserveFramePointer。我们一直在 Netflix 开发这些用于日常 Java 性能分析,因为它们可以识别所有CPU 消费者和问题,包括那些对其他分析器隐藏的……”