2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

低延迟 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:003033

评论

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

什么是代理IP?代理IP有什么作用?

Geek_bf375d

爬虫 HTTP 跨境电商 IP\ #HTTP

敏捷领导力(CAL / ALJ)认证周末班 · 2024年1月6-7日 火热报名中

ShineScrum

敏捷领导力

噢!进程的内存不见了

BigBang!

解锁 ElasticJob 云原生实践的难题

宋小生

竞放数字力量,释放无限潜能!

天翼云开发者社区

云计算 大数据 IDC

一文了解低代码平台

树上有只程序猿

低代码 数字化 JNPF

IDC 中国数字化转型盛典:兴业银行「基于悦数图数据库」的「智能大数据云平台」获奖

最新动态

华为与央音首席调音团,轻叩无损音质的音乐谜题

脑极体

华为

京东商品详情 API 接口深度解析与应用

tbapi

京东技术 京东商品详情数据接口 京东API接口

大模型助力交互式数据挖掘的探索与发现

鲸品堂

数据挖掘 大模型

程序员必备的学习工具,建议收藏!

伤感汤姆布利柏

程序员 前端 工具 低代码 实用

在校大学生如何用编程赚钱?

代码生成器研究

教育行业内卷,技术降本增效是否去内卷化效应?

Speedoooo

小程序生态 降本增效 小程序容器 小程序技术 教育内卷

企业为什么需要进行敏捷开发培训?有哪些好处?

顿顿顿

敏捷开发 敏捷项目管理 scrum培训 敏捷培训

CodeWhisperer——一个十分强大的工具

亚马逊云科技 (Amazon Web Services)

Python 人工智能 云上探索实验室 Amazon CodeWhisperer C++

不是编程太难学,而是信息差要人命

代码生成器研究

编程 赚钱 可视化

聊聊如何进行代码混淆

凯叔讲故事如何把好内容传递给千万儿童?

最新动态

你的编程能力从什么时候开始突飞猛进?

代码生成器研究

学习 编程 编程语言 可视化

打造有效安全闭环,天翼云MDR来了!

天翼云开发者社区

云计算 网络安全

编程太难学?你可能还没试过这个神器

代码生成器研究

编程

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