在启用并行GC时抛出OutOfMemoryError时的协助理解案例

时间:2018-03-22 22:53:41

标签: java garbage-collection jvm

我正在关注并行垃圾收集器的这个链接:https://docs.oracle.com/javase/8/docs/technotes/guides/vm/gctuning/parallel.html#parallel_collector_excessive_gc

它说:

"如果在垃圾收集(GC)中花费了太多时间,则并行收集器会抛出OutOfMemoryError:如果超过98%的总时间花在垃圾收集中,并且不到2%的堆是恢复,然后抛出OutOfMemoryError。"

我正在寻找帮助,了解"总时间"意味着什么?它是完整GC的总时间吗?是JVM正常运行时间的总时间吗?我不确定。

1 个答案:

答案 0 :(得分:1)

让我们假设您JVM在100秒内运行,如果它将98s专用于GC的执行并且只有不到2%的堆被恢复,它将抛出OOM异常