CMS发生Full GC的几种场景

JVM垃圾回收机制:

CMS发生Full GC的几种场景_第1张图片

JVM所采用的Old区垃圾收集器为CMS,CMS会在以下几种情况下发生Full GC:

  • 大对象分配到老年代时,可用空间不足
  • perm或metaspace空间不足 (JDK 8 开始HotSpot取消了perm,将类信息存放在metaspace中)
  • 晋升失败:年轻代的存活对象,需要迁移到老年代时,老年代剩余对象不足
  • promotion failed:担保失败,,gc日志会记录信息(如:[ParNew (promotion failed): 1669947K->145784K(1887488K));
  • concurrent mode failure:执行CMS GC的过程中同时业务线程将对象放入老年代,而此时老年代空间不足,或者在做Minor GC的时候,新生代Survivor空间放不下,需要放入老年代,而老年代也放不下而产生的,gc日志会记录信息(如:(concurrent mode failure): 2902473K->1221894K(3354624K), 0.3778980 secs] )

转载于:https://my.oschina.net/u/1000241/blog/3072168

你可能感兴趣的:(CMS发生Full GC的几种场景)