该参数时用来设置新生代中Eden区和两个Survivor区的比例,默认值为8,代表着Eden区比例占新生代的80%,两个Survivor区各占10%。
何时可能需要调整-XX:SurvivorRatio参数
如果Survivor区太小了,有时新生代GC后,存活的对象Survivor区放不下,导致存活对象直接被分配到老年代,或者是因为Survivor区太小导致进行动态年龄规则判断的时候,经常会有对象满足这个规则而被升到老年代,二者都会导致老年代更早的触发Full GC,影响系统性能。此时如果可以加大机器内存是最好的,但是如果机器内存和新生代内存有限,那么就可以通过调整-XX:SurvivorRatio参数,缩小Eden区所占的比例,给两个Survivor区更大的空间,尽量避免对象进入老年代。