写点什么

低延迟 Profile 工具 Flight Recorder 被移植到 Java 8

  • 2019-12-03
  • 本文字数:960 字

    阅读完需:约 3 分钟

低延迟Profile工具Flight Recorder被移植到Java 8

OpenJDK 的开发者们将强大的低延迟profile能力带到了 Java 8 中,可以使用非常低的开销来监控 JVM 性能。这个工具叫作 Flight Recorder,现在已经在多个版本的 JDK 中可用,比如 AdoptOpenJDK。


经过十多年的开发,Java Flight Recorder(JFR)已经为 JRockit 和 WebLogic Server 提供了底层性能监控能力。随着 JRockit 和 HotSpot 的合并,这个工具也被带到了 Java 8 和 JDK 7u40 的 HotSpot 中。与其他外部性能监控系统不一样,JFR 直接被内置在 JDK 中,可以准确地监控性能,不会因为安全点或采样对监控造成影响。JFR 的性能诊断非常准确,只占用大约 2%的开销。这些诊断数据为开发者和运维人员提供了收集准确的性能数据的能力。


JFR 的源代码在 JDK11 中,免费公开,所有人都可以访问。在被开源之前,这个功能只作为 Oracle JDK 的一个收费特性,需要获得 Java SE 高级版许可才能使用。要在 Oracle JDK 中打开这个功能,需要使用许可开关或者许可的 JMX 连接。将 JFR 移植到开源版本的 JDK 中让免费用户也能够在非 Oracle JVM 中使用这个功能。随着 Oracle 停止为 JDK 8 提供免费支持,并且需要商业许可才能使用 JDK 11+,很多开发者转向使用免费版本,比如 AdoptOpenJDK 的 HotSpot。


对于开发者来说,JFR 有两个方面的用处:Flight Recorder 是一个自动化的黑盒记录器,已经内置在 JVM 中,用于记录信息。运维人员可以通过单独运行的可视化控制台 Mission Control 来控制黑盒,计算指标或者创建性能快照。


JFR 与其他商业版或免费版的 profiler 有一些显著的不同。最大的不同是 JFR 已经内置在 JVM 中,不需要集成额外的工具。有很多 profiler 专注于高层的指标,比如请求/响应负载时间,但 JDK 层并没有“Web 请求”的概念。所以,JFR 默认提供的指标更多的是面向 JVM 的原生操作。这里特别要提到它的高级垃圾回收分析功能。与其他只是简单收集垃圾回收统计信息不同的是,JFR 会告诉我们收集了哪些垃圾以及这些垃圾是从哪里抛出来的。借助这个功能,开发人员可以确切地知道如何改进性能,以及在什么时候不应该进行垃圾回收调优。


想要了解Flight Recorder的开发人员可以先看看 Marcus Hirt 的演讲,他是 JDK Mission Control 的负责人。Mikael Vidstet 在洛杉矶 QCon 上也做了一个相同话题的演讲。


原文链接


Low Latency Profiling Now Available in Java 8


2019-12-03 08:002908

评论

发布
暂无评论
发现更多内容

华为轮值董事长郭平2020全联接大会主题演讲:永远面向阳光,阴影甩在身后

华为云开发者联盟

5G ICT huawei

关于招聘的一些思考

石云升

面试 考核 招聘 下放招聘权

一个草根的日常杂碎(9月25日)

刘新吾

社会百态 生活随想 日常杂碎

为什么海外服务器打开网站会卡呢?

德胜网络-阳

四年开发经验从美团、360、陌陌、百度、阿里、京东面试回来感想

Java架构师迁哥

JAVA JDBC

Isuodut

架构师训练营 1 期第 2 周:框架设计 - 总结

piercebn

极客大学架构师训练营

AI小白必读:深度学习、迁移学习、强化学习别再傻傻分不清

华为云开发者联盟

人工智能 学习 迁移

娱乐圈套路多?看区块链如何来破解

CECBC

网红 娱乐圈

SpringBoot-技术专题-提升服务吞吐量

洛神灬殇

架构师训练营 1 期 - 第二周 - 设计原则

三板斧

极客大学架构师训练营

一文快速入门分库分表

程序员小富

Java 分库分表

RN运行项目报错:Unable to resolve module `./debugger-ui/debuggerWorker.js` from ``

凌宇之蓝

ios android React Native

数据库-技术专题-SQL编写规范

洛神灬殇

架构师训练营---第二周课后练习

Jacky.Chen

一周信创舆情观察(9.14~9.20)

统小信uos

虚拟卡兑换架构设计

孙志平

来不及解释了,快上车!快速开发平台,助力企业搭乘万物互联顺风车

Philips

敏捷开发 企业开发 互联网革命

从『用户』到『客户』,企业服务平台如何实现高效转化?

易观大数据

架构师训练营第 1 期第二周总结

Leo乐

极客大学架构师训练营

传销资金盘挂靠区块链热点 肃清整顿热潮拉开帷幕

CECBC

区块链 金融

c++基础——杂谈2

菜鸟小sailor 🐕

c++ 语言

云小课 | 不小心删除了数据库,除了跑路还能咋办?

华为云开发者联盟

数据库 数据恢复 dba

进击的无源光网络:产业园区里的“追光者”

脑极体

Git 操作

老菜鸟

git

因材施教,阿里腾讯大牛耗时7天,整理不同人群适合的面试题合集

小Q

Java 编程 程序员 架构 面试

机构进场区块链安全基础设施准备好了么?

CECBC

区块链 数字资产

框架设计:作业

Nick~毓

Rust所有者被修改了会发生什么?

袁承兴

rust 内存管理 智能指针

跟着B站UP主小姐姐去华为坂田基地采访扫地僧

华为云开发者联盟

华为 技术 大牛 扫地僧

某大厂一位核心技术人员不小心泄漏的公司内部培训以及工作笔记内容,手慢无。

Java架构师迁哥

低延迟Profile工具Flight Recorder被移植到Java 8_编程语言_Erik Costlow_InfoQ精选文章