我如何知道为Sun JVM启用了哪些默认设置?

2022-09-01 09:28:16

我想在我的JVM上尝试压缩的Oops。不,我想知道它是否可能默认启用。我在 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

是的,你是对的,我也检查了它,压缩的Oops在Java6u21 64位中默认不激活,我不明白为什么在我提供的链接中这么说。

我试图用jconsole/JMX来检查它,但没有运气找到一个名为 CompressedOops 或类似的属性。

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

问候詹宁


答案 1

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

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

> jinfo -flag UseCompressedOops 7364
-XX:+UseCompressedOops

用于查找进程的 pid。jps


答案 2

推荐