50

非服务器类机器上 Java 6 中以下选项的默认值是什么?

  • -Xmx
  • -XX:MaxPermSize

Oracle 的文档指出:

在运行服务器 VM 的服务器级机器上,垃圾收集器 (GC) 已从以前的串行收集器 (-XX:+UseSerialGC) 更改为并行收集器 (-XX:+UseParallelGC)。

在运行带有并行垃圾收集器 (-XX:+UseParallelGC) 的 VM(客户端或服务器)的服务器级机器上,初始堆大小和最大堆大小已更改

该页面没有描述非服务器类机器的默认值,仅说明,例如,初始堆大小是“合理的最小值”。查看该命令的“手册页”java ,有以下内容-Xms

默认值在运行时根据系统配置选择

4

1 回答 1

72

Windows 7/32 位上 JDK 1.6.0_29 的默认值:

-Xmx256m
-XX:MaxPermSize=64m

这些选项的值也可以通过以下命令打印:

java -XX:+UnlockExperimentalVMOptions -XX:+UnlockDiagnosticVMOptions -XX:+PrintFlagsFinal -version 2>&1

然后查找 MaxHeapSize 和 MaxPermSize 键并查看默认值。

uintx InitialHeapSize                          := 199947456       {product}
uintx MaxHeapSize                              := 268435456       {product}           
uintx MaxPermSize                               = 67108864        {pd product}        

是 Ultimate HotSpot VM 选项备忘单,其中包含 JDK 最新 5 个版本(7、8、9、10 和 11)的默认值和描述。

于 2011-12-06T12:31:19.173 回答