摘要: 基本概念
堆/Heap
JVM管理的內存叫堆;在32Bit操作系統上有4G的限制,一般來說Windows下為2G,而Linux下為3G;64Bit的就沒有這個限制。
JVM初始分配的內存由-Xms指定,默認是物理內存的1/64但小于1G。
JVM最大分配的內存由-Xmx指定,默認是物理內存的1/4但小于1G。
默認空余堆內存小于40%時,JVM就會增大堆直到-Xmx的最大限制,可以由-XX:MinHeapFreeRatio=指定。
默認空余堆內存大于70%時,JVM會減少堆直到-Xms的最小限制,可以由-XX:MaxHeapFreeRatio=指定。
服務器一般設置-Xms、-Xmx相等以避免在每次GC后調整堆的大小,所以上面的兩個參數沒啥用。
閱讀全文