OpenJDK 1.8 是不是支持 JFR?
Posted
技术标签:
【中文标题】OpenJDK 1.8 是不是支持 JFR?【英文标题】:Does OpenJDK 1.8 support JFR?OpenJDK 1.8 是否支持 JFR? 【发布时间】:2017-03-16 22:29:31 【问题描述】:我不确定OpenJDK
1.8 是否支持JFR
(java 飞行记录器)。我知道它是在 OpenJDK
错误论坛上请求的。
在Linux
上使用OpenJDK
并从终端执行以下操作:
jcmd `<pid>` JFR.start
返回
java.lang.IllegalArgumentException:未知的诊断命令
【问题讨论】:
【参考方案1】:OpenJDK 8 源代码不包括 Java Flight Recorder 实现。根据http://openjdk.java.net/projects/jdk/11/,该功能旨在成为 JDK 11 的 OpenJDK 源代码的一部分。
【讨论】:
创建此答案时可能是这样。但正如另一个答案中提到的,它已被向后移植到 OpenJdk 8。【参考方案2】:JFR 正式包含在 OpenJDK 8 更新 262 中。您可以查看release notes for openjdk8u262。
新功能 - JDK-8223147:JFR 反向端口
您可以从AdoptOpenJDK 下载此(或最新的 JFR 版本)版本。
【讨论】:
【参考方案3】:Java Flight Recorder 是 Java SE Advanced 中包含的商业产品,仅包含在 Oracle JDK 中,不包含在 OpenJDK 中。
【讨论】:
谢谢@Ingo - 我有同样的感觉 - 当我开始收到异常时 - 在查看 OpenJDK 错误论坛之后 - 有一些票证是为了支持 JFR。但不确定这种努力走了多远。 如果需要分析 JVM 进程,OpenJDK 有哪些选择。 所有其他商业分析器都支持 OpenJDK。我公司开发JProfiler,你可以看看:ej-technologies.com/products/jprofiler/overview.html 您的工具适用于远程 JVMS 吗?或者是否需要指定一个JMX端口,然后使用指定的端口执行程序才能让工具连接? 飞行记录器正在开源。 openjdk.java.net/jeps/328【参考方案4】:Java 飞行记录器不是第 8 版的一部分,但必须开源并包含在第 11 版中,根据 http://openjdk.java.net/jeps/328 https://bugs.openjdk.java.net/browse/JDK-8193393
更新(它在那里): https://mail.openjdk.java.net/pipermail/announce/2018-September/000257.html
【讨论】:
【参考方案5】:在 OpenJDK 8u262 中可用。
新功能 JDK-8223147:JFR 反向移植 https://mail.openjdk.java.net/pipermail/jdk8u-dev/2020-July/012143.html【讨论】:
【参考方案6】:根据 http://hirt.se/blog/?p=1161 和 JFR Backport 到 OpenJDK 8 的正式计划,并且已经可以在某些版本中试用:https://www.infoq.com/news/2020/02/jfr-coming-to-openjdk-8/
【讨论】:
以上是关于OpenJDK 1.8 是不是支持 JFR?的主要内容,如果未能解决你的问题,请参考以下文章
JFR 文件一旦打印为 Json 是不是可以编译回 .jfr 格式
CentOS安装jdk SE 1.8 JDK与OpenJDK的区别
使用 OpenJDK 1.8 的 JavaFX 的 Maven 依赖项
使用 openjdk 1.8 的 Java SSL 通信握手失败