Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
FlightRecorder是否在JavaSE 8 Embedded 8 compact2配置文件上运行?_Java_Jfr - Fatal编程技术网

FlightRecorder是否在JavaSE 8 Embedded 8 compact2配置文件上运行?

FlightRecorder是否在JavaSE 8 Embedded 8 compact2配置文件上运行?,java,jfr,Java,Jfr,我在嵌入式平台(如Rasp Pi)上使用JavaSE Embedded 8 compact 2概要文件。我选择compact 2配置文件以使占地面积尽可能小 出于开发目的,我希望进行概要分析,而不在运行时更改概要文件(作为闪存中操作系统的一部分)。JavaSEEmbedded8确实包含了飞行记录器,作为一个非常酷和有用的工具,用于分析目的。 但是:它需要完整的JRE配置文件 来自Oracle的页面位于: 在compact 2配置文件中是否有技术机会实现这一点?例如,通过创建自定义版本的JVM,其

我在嵌入式平台(如Rasp Pi)上使用JavaSE Embedded 8 compact 2概要文件。我选择compact 2配置文件以使占地面积尽可能小

出于开发目的,我希望进行概要分析,而不在运行时更改概要文件(作为闪存中操作系统的一部分)。JavaSEEmbedded8确实包含了飞行记录器,作为一个非常酷和有用的工具,用于分析目的。 但是:它需要完整的JRE配置文件

来自Oracle的页面位于:

在compact 2配置文件中是否有技术机会实现这一点?例如,通过创建自定义版本的JVM,其中包括来自flight recorder的插件?或者是否只需要FullJRE虚拟机中的本机组件

更新:与此同时,我找到了吉姆·康纳的一篇帖子,里面有一条压缩配置文件的声明。看见 Jim详细描述了如何在compact 3配置文件上运行飞行记录器。
由于flight recorder依赖于javax.management,他认为在compact 1/2配置文件上运行时,如果没有实质性的更改,就无法正常工作。

compact profile 2不包含JMX功能,并且大部分实现(如JFR诊断命令)都是在JDK 7/8中的MBean之上构建的。因此,不可能在紧凑型1/2上使用飞行记录器

JDK9现已发布,您需要的唯一模块是JDK.jfr

您可以使用jlink工具构建自定义JDK:

cd JDK9_HOME/bin/

jlink --module-path ../jmods --add-modules jdk.jfr --output ../../jfrjdk

cd ../../jfrjdk/bin
java -XX:+UnlockCommercialFeatures -XX:StartFlightRecording -version

如果要远程访问JFR,即从Java任务控制访问JFR,请使用模块jdk.management.JFR。注意,这将引入JMX,因此图像将更大。

我认为Jim关于compact 1/2不使用JFR的说法是正确的。我相信新版本的JFR将避免依赖javax.management,但我不知道这是否会使它在JDK发布时与相应的“compact 2”配置文件一起工作。因此,没有机会打包Jim所描述的compact 3配置文件。所以我们要么去CompactProfile3,等待Java9,要么不使用飞行记录器。谢谢Kire的帮助。不是真的,你需要(至少)用于JMX的compact 3。你确定建议的将FlightRecorder与compact 3配置文件一起使用的方法确实有效吗?我们试图这样做并得到这个错误。我们正在使用启用安全管理器的VM/usr/lib/javaSE/bin/java-XX:+UnlockCommercialFeatures-XX:+FlightRecorder java HotSpot(TM)嵌入式客户端VM警告:不推荐使用增量CMS,可能会在将来的版本中删除[jfr][WARN][5.320]jfr初始化尝试失败。[jfr][WARN][5.320]初始化VM期间发生jdk/internal/instrumentation/Tracer错误,无法启动跟踪后端```可能是个bug。请尝试-XX:FlightRecorderOptions=loglevel=trace。也许您需要设置RuntimePermission jdk.internal.instrumentation.TracerJDK 9已经发布,现在您可以在占用空间小的设备上运行。您需要的唯一模块是jdk.jfr。
cd JDK9_HOME/bin/

jlink --module-path ../jmods --add-modules jdk.jfr --output ../../jfrjdk

cd ../../jfrjdk/bin
java -XX:+UnlockCommercialFeatures -XX:StartFlightRecording -version