大白话:
1.ParNew执行回收的时候,STW会比较长,CMS存在碎片化的问题,当物理机的内存变大,这套组合存在的问题会更大,加大物理内存,反而让垃圾回收更慢。
大白话:
之前讲过,在G1里新生代的占比是5%-60%,如果堆空间是8G,此时新生代占的空间就是400MB~4.7GB,如果一次回收完,就会非常耗时,可以通过设置回收最大停顿时间,减少服务的停顿,一次回收一部分,比如1.2G。因为如果应用要求尽快给与用户及时响应,就可以通过设置最大停顿时间,来优化G1。
大白话:
如果是视频、大数据、批处理等对象比较大的场景,我们可以将最大停顿时间调大一些,让垃圾回收频率降低,单次垃圾回收效果会更好。
同时,可以手动将-XX:G1HeapRegionSize=4M调大,避免短周期大对象进入老年代。