32

我想在我的 JVM 上尝试 CompressedOops。不,我想知道它是否可以默认启用。我在 debian/squeeze 上运行这个 jvm:

$ java -version
java version "1.6.0_22"
Java(TM) SE Runtime Environment (build 1.6.0_22-b04)
Java HotSpot(TM) 64-Bit Server VM (build 17.1-b03, mixed mode)

有人说它默认启用,有人说它不是:

来自:http ://forums.yourkit.com/viewtopic.php?f=3&t=3185

是的,您是对的,我也检查了它,在 Java6u21 64 位中默认情况下未激活 Compressed Oops,我不明白为什么在我提供的链接中这么说。

我尝试使用 jconsole/JMX 检查它,但没有找到名为 CompressedOops 或类似名称的属性。

有谁知道我从哪里获得具有默认值的特定构建的所有 jvm 选项列表?

问候詹宁

4

1 回答 1

67

您可以运行 with-XX:+PrintFlagsFinal以在 JVM 启动时打印所有标志的值。

或者,您可以使用该jinfo工具检查正在运行的 JVM 中的标志值:

> jinfo -flag UseCompressedOops 7364
-XX:+UseCompressedOops

用于jps查找进程的pid。

于 2011-03-17T09:39:30.767 回答