NewRatio参数讲解
在上一篇文章SurvivorRatio的讲解中, 可以知道 新生代占1 , 老年代占2, 即 年轻代占整个堆内存的三分之一. SurvivorRatio的讲解 而NewRatio参数就是用于调整新生代与老年代的占比的.
使用如下的测试代码,
public class MyHelloGc {
public static void main(String[] args) throws InterruptedException {
System.out.println("***************HELLO GC");
}
}
项目设置如下的jvm参数 -Xms10m -Xmx10m -XX:+PrintGCDetails -XX:+UseSerialGC
可以看到控制台打印如下 . 新生代 3072k , 老年代 6848k. 即新生代约占堆区的三分之一. 修改jvm参数. 使用 -XX:NewRatio=4 ,调整 新生代和老年代的比例
-Xms10m -Xmx10m -XX:+PrintGCDetails -XX:+UseSerialGC -XX:NewRatio=4
控制台打印如下 : 其中新生代为 1856k , 老年代为 8192k. 老年代占4, 新生代占1 . 新生代占用五分之一. 此参数作为了解即可. 一般不用调整.