可能发生Full gc 的情况

Posted shay

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了可能发生Full gc 的情况相关的知识,希望对你有一定的参考价值。

Full gc是对新生代,旧生代,以及持久代的统一回收,由于是对整个空间的回收,因此比较慢,系统中应当尽量减少full gc的次数。

如下几种情况下会发生full gc:

  1. 旧生代空间不足
  2. 持久代空间不足
  3. CMS GC时出现了promotion failed和concurrent mode failure
  4. 统计得到新生代minor gc时晋升到旧生代的平均大小小于旧生代剩余空间
  5. 直接调用System.gc,可以DisableExplicitGC来禁止
  6. 存在rmi调用时,默认会每分钟执行一次System.gc,可以通过-Dsun.rmi.dgc.server.gcInterval=3600000来设置大点的间隔。

以上是关于可能发生Full gc 的情况的主要内容,如果未能解决你的问题,请参考以下文章

大厂面试题:Young GC和Full GC分别在什么情况下会发生?

JVM:29 面试题:Young GC和Full GC分别在什么情况下会发生?

GC 触发Full GC执行的情况

JVM-触发Full GC的情况

触发Full GC执行的情况

jvm中导致Full GC的情况