Wildfly 11.0.0 最终 java.lang.OutOfMemoryError:元空间

问题描述 投票:0回答:2

自从在生产环境中进行新部署以来,我遇到了

java.lang.OutOfMemoryError: Metaspace
异常(在此更改之前,我们使用单独的 jar 进行调度,它工作正常,但由于某些网络问题,它再次停止,因此我们添加了调度程序,并与其他程序一起包含到 Wildfly 服务器中)战争)环境。所以基本上我们使用的是 Wildfly 11.0.0 最终服务器,其中有 4 个 war 文件,其中一个有 @scheduled - 或调度程序,并且每 10 分钟运行一次。因此,通常我们会停止 Wildfly 的服务,并在新的战争部署后重新启动,但在一段时间(4到5小时)后,应用程序开始变慢,当看到服务器的控制台时,我可以看到 java.lang.OutOfMemoryError: Metaspace 如下:

 WARN  [org.jboss.modules] (default task-11) Failed to define class com.arjuna.ats.jta.cdi.TransactionScopeCleanup$1 in Module "org.jboss.jts" from local module loader @1e802ef9 (finder: local module finder @2b6faea6 (roots: E:\Data\wildfly-11.0.0.Final\modules,E:\Data\wildfly-11.0.0.Final\modules\system\layers\base)): java.lang.OutOfMemoryError: Metaspace

ERROR [org.jboss.as.ejb3.invocation] (default task-55) WFLYEJB0034: EJB Invocation failed on component AuditLoggerHandler for method public void com.banctec.caseware.server.logger.AuditLoggerHandlerBean.publishCaseAudit(java.lang.String,com.banctec.caseware.server.helpers.SessionHolder,com.banctec.caseware.resources.Resource[],java.lang.Long) throws com.banctec.caseware.exceptions.CaseWareException: javax.ejb.EJBTransactionRolledbackException: WFLYEJB0457: Unexpected Error

因此,对于每个操作,我们都会遇到类似的错误

java.lang.OutOfMemoryError: Metaspace

因此,首先我从 @scheduler 中删除了纯代码,并使用了 Executor 框架,其中我使用了 5 个固定线程池,通过此更改,我们再次部署,但同样的问题又出现了。

我不确定是什么导致服务器一次又一次宕机并出现内存泄漏问题。

在所有 4 场战争中我们都使用了 Spring boot 2.0.2。

任何帮助表示赞赏。抱歉英语不好。

spring-boot memory-leaks jboss out-of-memory wildfly-11
2个回答
0
投票

可以使用Jprofiler等工具来查找内存泄漏。它就像一个魅力。查看以下链接 https://www.youtube.com/watch?v=032aTGa-1XM


-1
投票

您需要增加堆空间。并检查是否存在内存泄漏。请查看以下链接。 http://www.mastertheboss.com/java/solving-java-lang-outofmemoryerror-metaspace-error/

© www.soinside.com 2019 - 2024. All rights reserved.