设置最小Java堆大小的原因是什么?

时间:2011-11-10 20:36:36

标签: java heap-size

我可以通过分别传递参数-Xms-Xmx来设置Java堆大小的最小值和最大值。

我知道最大标志是限制空间所必需的,但是设置最小初始堆大小的原因是什么?如果最大值足够大,空间会增加吗?或者我会错过什么?

3 个答案:

答案 0 :(得分:5)

设置Minimun大小,以便JVM不必“重新调整”堆空间,如果它开始太小。

答案 1 :(得分:2)

Java将以最小堆大小开始,并将尝试通过垃圾收集来避免扩大堆。

因此,如果您的应用程序的稳态内存大小大于默认堆最小堆大小,那么您可能会在到达该大小的路上执行大量无意义的GC。将最小尺寸设置为该尺寸将避免无意义的GC。

答案 2 :(得分:0)

如果您的应用程序需要运行一定数量,您可以设置最小堆大小。如果设置最大堆大小,则jvm不应超过它。