1

我面临 Meta 空间堆积的问题,即使在主要 GC 期间也没有清除。下面是我的 Tomcat JVM

-XX:+UseAdaptiveGCBoundary -XX:+UseG1GC -XX:CompressedClassSpaceSize=1024m -XX:MaxMetaspaceSize=1024m -Xms2048m -Xmx2048m

(我正在使用具有 16GB RAM 的 AWS 实例运行)

我可以注意到元空间不断增加(高水位标记的变化),我觉得它在变化,因为分配的限制是 1 GB,当主要垃圾收集发生时,我期待未加载的类被卸载。但这不会发生。

在 15 分钟内,主要的主要垃圾一直在持续,堆空间看起来很健康(它清理了其中的对象),但元空间从来没有。所以我们必须重新启动Tomcat来解决这个问题。

  1. 我应该考虑 MinFreespaceRatio=60 吗?让 G1GC 诱导垃圾回收?

  2. 我打算jmap -clstat在生产实例上运行,我应该在那个元空间转储上看什么?

4

0 回答 0