Java7和-XX:tracedOptimization

Java7和-XX:tracedOptimization,java,optimization,java-7,jvm-hotspot,Java,Optimization,Java 7,Jvm Hotspot,我正在尝试调试Java去优化,但无法使-XX:+TraceDeoptimization正常工作。您知道它是在OpenJDK 7中被禁用的,还是在我的版本(7u9-2.3.4-0ubuntu1.12.04.1)中没有启用,或者是否有一些我需要调用的魔法-XX:+解锁某些东西 无论我尝试什么,我总是收到错误消息 Error: Could not create the Java Virtual Machine. Error: A fatal exception has occurred. Progra

我正在尝试调试Java去优化,但无法使
-XX:+TraceDeoptimization
正常工作。您知道它是在OpenJDK 7中被禁用的,还是在我的版本(7u9-2.3.4-0ubuntu1.12.04.1)中没有启用,或者是否有一些我需要调用的魔法
-XX:+解锁某些东西

无论我尝试什么,我总是收到错误消息

Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
添加此参数时没有任何进一步的详细信息。即使是普通的
java-XX:+TraceDeoptimization
也会打印此消息。它也没有说它不承认这个选项。然而,正如
printcomployment
所揭示的,我看到了一条“made not entrant”消息,这显然表明出现了去优化,我想调试一下为什么会发生这种情况,因为我看到了一个奇怪的性能下降,而据信代码得到了改进

解决方案:
默认版本确实不包含此功能。您需要一个调试版本。您可以。

所有标志选项都需要
+
-
来启用或禁用它们。在您的情况下,选项将是
-XX:+TraceDeoptimization
要关闭它(这是默认设置),您可以编写
-XX:-TraceDeoptimization

此选项仅在VM的调试版本中可用。(至少这是我的idk 1.8u92告诉我的。

默认版本确实不包含此功能


你需要一个调试版本。你可以。

这实际上就是我所尝试的。很抱歉上面的复制和粘贴。它在这里不起作用。另一方面,
-XX:-TraceDeoptimization
会导致相同的错误。它可能在该版本中被禁用。我会尝试Oracle热点Java 7。Oracle Java 7说:
无法识别的VM选项“Trac”eDeoptimization'
。这至少是一条错误消息,尽管它不能帮助我调试这种性能回归…知道哪种版本的Java实际上支持这种调试吗?通过Google,我在Java.net上找到了一个JDK7调试版本,这一版本确实包含了该选项。谢谢。