gpt4 book ai didi

java - Jboss java.lang.OutOfMemoryError : Java heap space 错误

转载 作者:行者123 更新时间:2023-11-29 04:14:37 27 4
gpt4 key购买 nike

jboss serwer 有时会抛出“发生未处理的异常:

java.lang.OutOfMemoryError: Java heap space".

你能解释一下它是如何工作的吗?

一些信息:Jboss 在 Windows 上一直以独立模式运行。来自 standalone.conf “JAVA_OPTS=-Xms1G -Xmx1G -XX:MaxPermSize=256M”我部署了约 50MB 的 war 文件,测试后我将其删除。

这个Java堆空间异常的可能原因是什么?我应该在以下部署之间重新启动服务器吗?有清理堆空间的命令吗?如果我理解正确地增加 -Xmx 参数将无济于事。它只会延迟异常的出现。对吧?

提前致谢

最佳答案

What is possible cause of this Java heap space exception?

从表面上看,解释很简单。 JVM 已用完堆空间,GC 无法回收足够的空间来继续。

但是是什么导致 JVM 进入该状态?

有许多可能的解释,但它们主要分为三类:

  1. 您的应用程序存在内存泄漏。

  2. 重复部署导致内存泄漏。

  3. 没有内存泄漏,但偶尔您的应用程序收到的请求只是需要太多内存。

Should I restart server between following deploys?

如果部署导致泄漏,那可能会有所帮助。如果没有,就不会。

Is there any command to clean heap space?

没有命令可以做到这一点。在抛出 OOME 之前,JVM 已经运行了“完整”GC。

If I understand corectly increasing of -Xmx argument will not help. It will only delay the appearance of the exception. Right?

这取决于。如果根本原因是上面的#3,那么增加堆大小可能会解决问题。但是,如果根本原因是 #1 或 #2,那么调整堆大小将(充其量)导致 JVM 在崩溃之间存活更长时间。


我的建议是首先将此视为“正常”(原因 #1)内存泄漏,并使用内存分析器来识别和修复可能随时间推移而形成的泄漏。

如果/当您可以明确消除第 1 个原因时,请考虑其他原因。

关于java - Jboss java.lang.OutOfMemoryError : Java heap space 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53169426/

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