2009-12-23 302 views

回答

31

初始堆大小是最小堆大小。它不會比最初的堆大小小。

Tuning Garbage Collection with the 5.0 Java[tm] Virtual Machine

默認情況下,虛擬機增長 或縮小堆在每個收集 要儘量保持在特定範圍內的自由 空間在每個 收集住對象的比例。 通過參數 -XX:MinHeapFreeRatio =和-XX:MaxHeapFreeRatio =將此目標範圍設置爲 百分比,並且總大小的範圍低於 -Xms及以上-Xmx。

+0

默認情況下,我的機器上最大堆大小爲10 GB,因爲我們有40 GB內存。當我設置-Xms15g時,最大尺寸是多少? – junsid 2016-03-18 05:45:46

11

從運行Java -X:

-Xms<size>  set initial Java heap size 
-Xmx<size>  set maximum Java heap size 
-Xss<size>  set java thread stack size 

注意-X選項是不能保證所有的虛擬機存在或行爲上的所有虛擬機一樣。例如-Xms可以根據虛擬機格式化硬盤驅動器(它不會 - 但嚴格來說它可以:-)(鍵入java本身可以幫助用這一行:「-X打印非標準選項的幫助」) 。