gpt4 book ai didi

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

转载 作者:bug小助手 更新时间:2023-10-28 01:33:20 24 4
gpt4 key购买 nike

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

java.lang.OutOfMemoryError: GC overhead limit exceeded

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

最佳答案

此消息表示由于某种原因垃圾收集器占用了过多的时间(默认为进程所有 CPU 时间的 98%),并且每次运行恢复的内存非常少(默认为堆的 2%) .

这实际上意味着您的程序停止任何进展,并且一直忙于运行垃圾收集。

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

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

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

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

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