本问题已经有最佳答案,请猛点这里访问。
请解释在JVM中使用Xms和Xmx参数。它们的默认值是什么?
当使用-Xmx128m -Xms64m时,它可以在EDOCX1和1ΩRES MEM附近高峰期,但是当使用EDCOX1,2时,它可以在EDCOX1,3,RES MEM周围用JAVA 8达到峰值,最好的办法是强调GC,看看发生了什么。
标志Xmx指定了Java虚拟机(JVM)的最大内存分配池,而EDCOX1(1)指定了初始内存分配池。
这意味着,您的JVM将以Xms的内存量启动,并且最多可以使用Xmx的内存量。例如,像下面这样启动一个JVM将以256 MB的内存启动它,并允许进程使用多达2048 MB的内存:
java -Xms256m -Xmx2048m
内存标志也可以以不同的大小指定,如千字节、兆字节等。
-Xmx1024k
-Xmx512m
-Xmx8g
Xms标志没有默认值,Xmx的默认值通常为256 MB。这些标志的一个常见用法是当您遇到一个java.lang.OutOfMemoryError时。
使用这些设置时,请记住这些设置是针对JVM堆的,并且JVM可以/将使用比分配给堆的大小更多的内存。从Oracle的文档中:
Note that the JVM uses more memory than just the heap. For example Java methods, thread stacks and native handles are allocated in memory separate from the heap, as well as JVM internal dat