有人会认为找到一个列出不同JVM版本的默认最大堆大小的表会很容易......但是快速搜索没有找到这样的东西。
那么,各种Sun JVM的默认最大堆大小是多少?
答案 0 :(得分:2)
我完全看到你问题中的重点,因为JVM默认值因供应商和版本而异。我也对一个合适的矩阵感兴趣。但我只有Oracle Java 7 docs说:
默认值是在运行时根据系统配置选择的。 对于服务器部署,-Xms和-Xmx通常设置为相同的值。 有关更多信息,请参阅HotSpot人机工程学
以下更改将在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非标准选项。