Xmn這些參數的含義是什么?
堆內存分配:
JVM初始分配的內存由-Xms指定,默認是物理內存的1/64
JVM最大分配的內存由-Xmx指定,默認是物理內存的1/4
默認空余堆內存小于40%時,JVM就會增大堆直到-Xmx的最大限制;空余堆內存大于70%時,JVM會減少堆直到 -Xms的最小限制。
因此服務器一般設置-Xms、-Xmx相等以避免在每次GC 后調整堆的大小。對象的堆內存由稱為垃圾回收器的自動內存管理系統回收。
非堆內存分配:
JVM使用-XX:PermSize設置非堆內存初始值,默認是物理內存的1/64;
由XX:MaxPermSize設置最大非堆內存的大小,默認是物理內存的1/4。
-Xmn2G:設置年輕代大小為2G。
-XX:SurvivorRatio,設置年輕代中Eden區與Survivor區的比值。