2010-07-26 131 views
3

人们会认为很容易找到一个列出不同JVM版本的默认最大堆大小的表......但是快速搜索没有找到这样的东西。各种Sun JVM的默认最大堆大小是多少?

那么,各种Sun JVM的默认最大堆大小是多少?

+0

我真的在寻找对不同JVM版本的默认最大大小的引用。 – Jared 2010-07-30 19:29:39

回答

2

我完全看到你的问题中的观点,因为JVM的默认值因供应商和版本而异。我也会对一个合适的矩阵感兴趣。但我所有的是Oracle Java 7 docs说:

默认值是在运行时根据系统配置选择。 对于服务器部署,-Xms和-Xmx通常设置为相同的值。 欲了解更多信息,请参见热点人体工程学

deeper inside the docs它说:

以下变化采取与J2SE 5.0的效果。 服务器VM的垃圾收集器改为并行垃圾收集器

在运行服务器虚拟机服务器级的机器,垃圾收集器 (GC)已经从以前的串行收集器改变(-XX:+ UseSerialGC) 到并行收集器(-XX:+ UseParallelGC)。您可以通过对java 命令使用-XX:+ UseSerialGC命令行选项来覆盖此默认值 。初始堆大小和最大堆大小与 平行垃圾收集器改变并行 垃圾收集器

在运行任何VM(客户端或服务器)服务器级的机器(-XX:+ UseParallelGC)初始堆尺寸 和最大堆大小发生了如下变化。

Initial heap size: Larger of 1/64th of the machine's physical memory on the machine or some reasonable minimum. Before J2SE 5.0, the default initial heap size was a reasonable minimum, which varies by platform. 

Maximum heap size: Smaller of 1/4th of the physical memory or 1GB. Before J2SE 5.0, the default maximum heap size was 64MB. 

注意:为J2SE 5.0提供的堆大小的边界和分数是正确的。随着计算机功能越来越强大,它们在后续版本中可能会有所不同。

相关问题