繁体   English   中英

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

[英]Is there a way to check if a particular jdk (Oracle or OpenJDK) supports Java Flight Recorder?

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

java -XX:StartFlightRecording

但这不适用于OPEN JDK 8 我收到以下错误Unrecognized VM option -XX:+UnlockCommercialFeatures

但不起作用

您需要按照此处所述“解锁商业功能”:
https://docs.oracle.com/javacomponents/jmc-5-4/jfr-runtime-guide/run.htm#JFRUH176

该命令应如下所示:

java -XX:+UnlockCommercialFeatures -XX:+FlightRecorder -XX:StartFlightRecording=duration=60s,filename=myrecording.jfr MyApp

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

$ jdb

打开第二个 shell。

$ jcmd

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

$ jcmd <pid> help

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM