2010-07-26 122 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提供的堆大小的邊界和分數是正確的。隨着計算機功能越來越強大,它們在後續版本中可能會有所不同。

相關問題