gpt4 book ai didi

java - 在 Wildfly 上重新部署导致内存不足 : metaspace

转载 作者:搜寻专家 更新时间:2023-11-01 00:55:09 27 4
gpt4 key购买 nike

我目前正在调查我们最近遇到的一些元空间不足问题。罪魁祸首之一似乎是在重新部署 WAR 时加载重复的类。在本地尝试,仅使用我们的一个 WARS,通过完全取消部署后的堆转储,我可以看到应用程序创建的大多数实例仍然存在(即使在垃圾收集之后)。

从堆转储中,我可以看到似乎是 ManagedThreadFactoryImpl 持有引用。

有什么我可以做/添加到应用程序关闭过程中以便它自行清理的吗?

我们所有的 WAR 都是 spring 应用程序,大多数使用调度/异步元素。

我们将 JDK8 与 Wildfly 8.2 一起使用

最佳答案

类加载器似乎没有卸载。试用 Java Mission Control (JMC) 并记录用例。这使您可以转到记录中的特定时间点并调试问题。它提供了在特定时间加载的类的快照,包括堆栈跟踪、线程转储和许多重要的东西。

JMC 包含在 JDK 中。您可以在此处找到更多信息:https://docs.oracle.com/javase/8/docs/technotes/guides/troubleshoot/tooldescr002.html#BABIBBDE

您不必经历获取堆转储的痛苦,然后等待工具对其进行分析。

关于java - 在 Wildfly 上重新部署导致内存不足 : metaspace,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36776421/

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