非服务器级计算机上的Xmx,Xms,MaxPermSize的默认值

Ric*_*ich 48 jvm jvm-arguments

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

  • -Xmx
  • -XX:MaxPermSize参数

Oracle的文档指出:

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

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

该页面没有描述非服务器级机器的默认值,只是例如初始堆大小是"合理的最小值".查看命令的"手册页",java有以下内容-Xms:

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

And*_*yuk 70

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

-Xmx256m
-XX:MaxPermSize=64m
Run Code Online (Sandbox Code Playgroud)

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

java -XX:+UnlockExperimentalVMOptions -XX:+UnlockDiagnosticVMOptions -XX:+PrintFlagsFinal -version 2>&1
Run Code Online (Sandbox Code Playgroud)

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

uintx InitialHeapSize                          := 199947456       {product}
uintx MaxHeapSize                              := 268435456       {product}           
uintx MaxPermSize                               = 67108864        {pd product}        
Run Code Online (Sandbox Code Playgroud)

以下是Ultimate HotSpot VM选项备忘单,其中包含JDK最后5个版本(7,8,9,10和11)的默认值和说明.