-Xms:初始堆大小或最小堆大小?

时间:2009-12-23 08:13:08

标签: java memory parameters garbage-collection jvm

-Xms是指定初始堆大小还是最小堆大小? 我看到很多地方有很多不同的答案。有些像second answer here,比如它是初始堆,有些像here这样说它的最小堆大小。 或者最小尺寸本身是初始尺寸?

2 个答案:

答案 0 :(得分:31)

初始堆大小是最小堆大小。它不会小于初始堆大小。

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

  

默认情况下,虚拟机会增长   或缩小每个集合的堆   尽量保持自由的比例   每个人都有活动空间的空间   特定范围内的集合。   此目标范围设置为a   百分比参数   -XX:MinHeapFreeRatio =和-XX:MaxHeapFreeRatio =,总大小受限于   -Xmx以上的-Xms及以上。

答案 1 :(得分:12)

从运行java -X:

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

请注意,不保证所有VM上都存在-X选项,或者所有VM上的行为都相同。例如-Xms可以根据VM格式化您的硬盘驱动器(它不会 - 但严格来说它可以:-)(输入java本身可以提供这一行的帮助:“-X打印帮助非标准选项”)