NewRatio参数讲解
在上一篇文章SurvivorRatio的讲解中, 可以知道 新生代占1 , 老年代占2, 即 年轻代占整个堆内存的三分之一.
SurvivorRatio的讲解
而NewRatio参数就是用于调整新生代与老年代的占比的.
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 . 新生代占用五分之一.
此参数作为了解即可. 一般不用调整.