2009-12-23 161 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打印非标准选项的帮助”) 。