堆参数-XMS 与-XMX的说明

  • XMS : JVM初始分配的堆内存

  • XMX : JVM最大允许分配的堆内存,按需分配

堆内存分配:

  • JVM初始分配的堆内存由-Xms指定,默认是物理内存的1/64

  • JVM最大分配的堆内存由-Xmx指定,默认是物理内存的1/4

  • 默认空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制;

  • 空余堆内存大于70%时,JVM会减少堆直到-Xms的最小限制。

因此服务器一般设置-Xms、-Xmx相等以避免在每次GC 后调整堆的大小。

说明:如果-Xmx 不指定或者指定偏小,应用可能会导致java.lang.OutOfMemory错误,此错误来自JVM,不是Throwable的,无法用try...catch捕捉。

原文地址:https://www.cnblogs.com/Lxiaojiang/p/6707539.html