【jvm】java jvm 报错 OutOfMemoryError: GC overhead limit exceeded

在这里插入图片描述

1.概述

JVM 抛出 OutOfMemoryError 的最后一种情况是 JVM 认为在执行 GC 上花费了太多时间:

Exception in thread "main" java.lang.OutOfMemoryError: GC overhead limit exceeded

当满足下列所有条件时就会抛出该错误。

  1. 花在 Full GC 上的时间超出了 -XX:GCTimeLimit=N 标志指定的值。其默认值是 98(也就是,如果 98% 的时间花在了 GC 上,则该条件满足)。
  2. 一次 Full GC 回收的内存量少于 -XX:GCHeapFreeLimit=N 标志指定的值。其默认值是 2,这意味着如果 Full GC 期间释放的内存不足堆的 2%,则该条件满足。
  3. 上面两个条件连续 5 次 Full GC 都成立(这个数值是无法调整的)。<

猜你喜欢

转载自blog.csdn.net/qq_21383435/article/details/114993367