java - 有没有办法检查特定的 jdk(Oracle 或 OpenJDK)是否支持 Java Flight Recorder?

标签 java oracle jfr

有没有办法检查特定的 jdk(Oracle 或 OpenJDK)是否支持 Java Flight Recorder? 我一直在尝试在 OPEN JDK 8 上运行我的应用程序,如下所示

java -XX:StartFlightRecording

但这在OPEN JDK 8上不起作用。我收到以下错误无法识别的 VM 选项 -XX:+UnlockCommercialFeatures

但不起作用

最佳答案

检查 JVM 是否支持 JFR 的一种方法是:

$ jdb

打开第二个 shell。

$ jcmd

记住 jdb 进程的 pid 并执行以下操作:

$ jcmd <pid> help

如果 JVM 列出以 JFR 开头的诊断命令,则支持。如果JDK缺少jcmd,则不支持JFR(除非它是JRockit JVM,在这种情况下jcmd称为jrcmd并且要查找的命令是start_flightrecording)。

关于java - 有没有办法检查特定的 jdk(Oracle 或 OpenJDK)是否支持 Java Flight Recorder?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61333488/

相关文章:

java - Tomcat Web 应用程序可以告诉负载均衡器它的 Tomcat 已关闭吗?

java - 为什么我不能将 String 数组与采用 Iterable 作为参数的方法一起使用?

mysql - 短路 SQL 以返回找到的第一个 X 行

sql - 如何在oracle SQL中单独截断一列?

java - 如何在 Java Mission Control 的内存 View 中解释 lambda

java - 为什么我有不止一份 JFR 录音?

java - 我可以像数组一样从文件中读取对象吗?

java - 无法从线程启动 Activity

oracle - 在oracle中安排一个作业来删除和创建表

profiling - Java Mission Control (JMC) 6.0 在检查 JFR 飞行记录时不显示热门方法