Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
-Xms我可以通过分别传递参数和来设置 Java 堆大小的最小值和最大值-Xmx。
-Xms
-Xmx
我知道最大标志是限制空间所必需的,但是设置最小初始堆大小的原因是什么?如果最大值足够大,空间会增加吗?还是我错过了什么?
设置了最小大小,以便 JVM 在开始时不必“调整”堆空间的大小。
Java 将从最小堆大小开始,并尝试通过垃圾收集来避免扩大堆。
因此,如果您的应用程序的稳态内存大小大于默认堆最小堆大小,那么您可能会在达到该大小的过程中进行大量无意义的 GC。将最小大小设置为该大小将避免无意义的 GC。
如果您的应用程序需要一定数量的运行,您可以设置最小堆大小。如果设置最大堆大小,jvm 不应该超过它。