gpt4 book ai didi

java - 生产服务器中的 tomcat 超出了 GC 开销限制

转载 作者:行者123 更新时间:2023-11-28 23:30:13 26 4
gpt4 key购买 nike

在服务器中,我们有 >4GB 的可用内存,但我们在该服务器上却遇到了以下错误代码。而且我也知道这个错误意味着 GC(垃圾收集器)试图释放内存但几乎无法完成任何事情。默认情况下,当 JVM 在 GC 上花费超过 98% 的总时间并且在 GC 后回收不到 2% 的堆时,就会发生这种情况。

那么,我们如何处理服务器或 Tomcat 服务器上的问题。请建议我。谢谢

Status Code: 500
Message: Handler processing failed; nested exception is java.lang.OutOfMemoryError: GC overhead limit exceeded
User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_4) AppleWebKit/600.7.12 (KHTML, like Gecko) Version/8.0.7 Safari/600.7.12
Exception: java.lang.OutOfMemoryError: GC overhead limit exceeded

最佳答案

正如您正确指出的那样,垃圾收集器花费了 98% 的时间和 GC,并且只能(或更少)回收 2% 的堆空间。这看起来是对象在堆上分配得非常快的情况。您可以使用 EclipseMemoryAnalyzer 进行堆转储并进行分析,以检查在堆上分配了哪些对象。这应该是代码中的问题,而不是 Tomcat 的问题(或者您的应用程序需要更大的堆大小)。

关于java - 生产服务器中的 tomcat 超出了 GC 开销限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31332688/

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