2

我们目前有一个问题,即容器中已部署的 ear 文件数量超出了元空间限制。不幸的是,使用的服务器在土豆上运行,无法升级。机架已满,并且在没有更多占地面积的工厂内。因此,我们不能再简单地“增加元空间”,这是过去 5 年的解决方案。

问题类似于 共享公共库会解决我的“java.lang.OutOfMemoryError: Metaspace”吗?但这从未得到核心问题的答案:包含共享库的模块实际上可以减少所需的元空间吗?这是假设耳朵本身不再需要在其耳朵类加载器中加载公共库。

目前我已经做了一个 maven 项目,它实际上会收集所有这些库,这样我就可以将它们添加到 ./wildfly/modules/ 目录中,并确保更新 jboss-deployment-structure 以依赖于这个模块。我的期望是确实使用的元空间应该减少,但是用 jstat 验证这一点似乎表明没有改进。在两次测试之间,我确保删除 wildfly 数据目录。

我的期望错了吗?还是我错过了什么?

4

0 回答 0