10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

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

评论

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

和鲸101计划:以神经计算建模培训,助力北大学术人才培养

ModelWhale

数据 建模

和鲸101计划:以数据能力助力南开大学新文科建设

ModelWhale

数据 新文科

今日分享丨浅谈配置中心对配置的集中管理

inBuilder低代码平台

微服务 云原生 配置管理

AI安全水深流急,黄铁军首谈AGI能力与风险分级,2024智源大会圆满落幕

智源研究院

火山引擎助力自动驾驶:云原生合规专区回灌集群解决方案

极客天地

软件测试学习笔记丨Python常用第三方库 yaml

测试人

Python 软件测试 yaml 测试开发

智源联合多所高校推出首个多任务长视频评测基准MLVU

智源研究院

太空策略单机游戏推荐:群星Stellaris 游戏支持win和mac下载

你的猪会飞吗

Mac游戏下载 群星游戏下载

Shell 循环语句:重复任务的自动化利器

左诗右码

深入理解 Python 类中的各种方法

我再BUG界嘎嘎乱杀

Python 编程 后端 开发语言

IPv6改造是什么意思?网站IPv6改造怎么做?

国科云

接口测试:Mock 的价值与意义

测吧(北京)科技有限公司

测试

2024北京智源大会开幕,智源推出大模型全家桶及全栈开源技术基座新版图,大模型先锋集结共探AGI之路

智源研究院

CCF 数据库专委会铂金合作伙伴

TDengine

数据库 涛思数据 tdengine

AI 人 吐 槽 大 会

白洞计划

AI

“技术故障”背刺巴菲特,金融大模型到底靠不靠谱?

Openlab_cosmoplat

人工智能 金融

北京人工智能数据运营平台发布,并开源超大规模高质量数据集

智源研究院

和鲸101计划:经管大数据课程教学训练营线下培训圆满收官

ModelWhale

数据 经管

打造安全高效的数字货币交易平台:交易所开发全攻略

区块链软件开发推广运营

交易所开发 dapp开发 区块链开发 链游开发 NFT开发

Axios 和 Fetch: 深入比较HTTP请求工具

Liam

JavaScript 前端 HTTP axios Fetch

什么是浅拷贝和深拷贝,如何用 js 代码实现?

不在线第一只蜗牛

JavaScript 拷贝

智领云端,逐梦低空:中国电信成立低空经济产业联盟

脑极体

AI

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