JVM GC疑难情况

高分配速率:

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

     

 

 通过GC日志来计算分析分配速率

具体上一次垃圾收集之后,与下一次GC开始之前的年轻代使用量,两者差值除以时间

 

分配速率的意义:

           分配速率的变化,会增加或降低GC暂停的频率,从而影响吞吐量。但只有年轻代受影响,老年代一般受提升速率的影响

 

提升速率:衡量单位时间内从年轻代提升到老年代的数据量   

 

 

 

 

 提升速率的意义:

提升速率也会影响GC暂停的频率。但分配速率主要影响minor GC,从而提升影响MGC的频率。大量的提升,自然很快将老年代填满,所以mgc的频率就越高

 

FGC通常需要处理更多的对象,还执行碎片整理等额外过程

 

过早提升的影响:

           短时间频繁  fgc

           每次fgc后老年代的使用率都很低   

           提升速率接近分配速率

 

解决方案:

          一:增加年轻代的大小,设置JVM启动参数

          二:减少每次批处理的数量

                 

 

posted @ 2022-04-22 10:13  李文浩learning  阅读(50)  评论(0)    收藏  举报