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

时间:2010-07-26 22:32:21

标签: java memory heap

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

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

2 个答案:

答案 0 :(得分:2)

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

  

默认值是在运行时根据系统配置选择的。   对于服务器部署,-Xms和-Xmx通常设置为相同的值。   有关更多信息,请参阅HotSpot人机工程学

deeper inside the docs它说:

  

以下更改将在J2SE 5.0中生效。垃圾收集器   服务器VM已更改为并行垃圾收集器

     

在运行服务器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是正确的。随着计算机变得越来越强大,它们在后续版本中可能会有所不同。

答案 1 :(得分:1)

Jared,根据Java 1.5 documentation,默认最大大小为64MB。

看看-Xmsn和-Xmxn非标准选项。