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

-Xms是指定初始堆大小还是最小堆大小? 我看到很多地方有很多不同的答案。 有些人喜欢这里的第二个答案 ,说它是针对初始堆的,有些像这里说它的最小堆大小。 或者最小尺寸本身是初始尺寸?

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

从使用5.0 Java [tm]虚拟机调优垃圾收集 :

默认情况下,虚拟机会在每个集合中增大或缩小堆,以尝试将可用空间的比例保持在特定范围内每个集合的活动对象。 该目标范围通过参数-XX:MinHeapFreeRatio =和-XX:MaxHeapFreeRatio =设置为百分比,并且总大小在-Xms以下由-Xms以上限制。

从运行java -X:

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

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