-Xms是指定初始堆大小还是最小堆大小? 我看到很多地方有很多不同的答案。有些像second answer here,比如它是初始堆,有些像here这样说它的最小堆大小。 或者最小尺寸本身是初始尺寸?
答案 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打印帮助非标准选项”)