JVM GC疑难情况
高分配速率:
单位时间内分配的内存量 分配率过高就会严重影响性能,在JVM中会导致巨大的GC开销

通过GC日志来计算分析分配速率
具体上一次垃圾收集之后,与下一次GC开始之前的年轻代使用量,两者差值除以时间
分配速率的意义:
分配速率的变化,会增加或降低GC暂停的频率,从而影响吞吐量。但只有年轻代受影响,老年代一般受提升速率的影响
提升速率:衡量单位时间内从年轻代提升到老年代的数据量


提升速率的意义:
提升速率也会影响GC暂停的频率。但分配速率主要影响minor GC,从而提升影响MGC的频率。大量的提升,自然很快将老年代填满,所以mgc的频率就越高
FGC通常需要处理更多的对象,还执行碎片整理等额外过程
过早提升的影响:
短时间频繁 fgc
每次fgc后老年代的使用率都很低
提升速率接近分配速率
解决方案:
一:增加年轻代的大小,设置JVM启动参数
二:减少每次批处理的数量


浙公网安备 33010602011771号