gpt4 book ai didi

java - 错误 java.lang.OutOfMemoryError : GC overhead limit exceeded

转载 作者:太空宇宙 更新时间:2023-11-04 10:46:56 24 4
gpt4 key购买 nike

在执行 JUnit 测试时收到此错误消息:

java.lang.OutOfMemoryError: GC overhead limit exceeded

我知道 OutOfMemoryError 是什么,但是 GC 开销限制意味着什么?我该如何解决这个问题?

最佳答案

此消息意味着由于某种原因,垃圾收集器花费了过多的时间(默认情况下为进程所有 CPU 时间的 98%),并且在每次运行中回收的内存非常少(默认情况下为堆的 2%)。

这实际上意味着您的程序停止执行任何进度,并且始终忙于仅运行垃圾收集。

为了防止您的应用程序在没有完成任何操作的情况下占用 CPU 时间,JVM 会抛出此错误,以便您有机会诊断问题。

我见过这种情况发生的极少数情况是,某些代码在内存已经非常有限的环境中创建大量临时对象和大量弱引用对象。

查看 Java GC 调优指南,该指南适用于各种 Java 版本,并且包含有关此特定问题的部分:

关于java - 错误 java.lang.OutOfMemoryError : GC overhead limit exceeded,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48304009/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com