YGC FGC 都会影响程序的运行,中断程序,JVM参数调整比较复杂,现在记录了一下平时常用的JVM参数:
jar 包启动:
usr/java/bin/java -jar -Xms2560m -Xmx2560m -Xmn512m A.jar
-Xms : 初始分配的堆大小 默认值物理内存的 1/64 (MinHeapFreeRatio = 40, MaxHeapFreeRatio = 70 默认设置) 剩余堆空间<MinHeapFreeRatio jvm 堆就会增大到 —Xmx 值。
-Xmx : 堆的最大值,默认值为物理内存的1/4。剩余堆空间> MaxHeapFreeRatio jvm 堆会减少到 —Xmx 的最小限制。
(一般设置 -Xms -Xmx 值相同,即不允许堆内存动态的变化 )
-Xmn :设置年轻带大小 java 1.4 以后。 eden + survivor +survivor 大小。
-XX:NewSize : 设置年轻代大小 1.3. 1.4
-XX:MaxNewSize 年轻代最大值
-XX:PermSize 持久代 物理内存的1/64
-XX:MaxPermSize 持久代最大值 物理内存的额1/4