垃圾收集器在将 XX:MaxMetaspaceSize 设置为相同的旧 XX:MaxPermSize 值后停止 运行

GarbageCollector stoped running after setting XX:MaxMetaspaceSize to the same old XX:MaxPermSize value

在将 Java 应用程序从 Java 6 + Jboss 迁移到 Java 8 + Tomcat.

期间

我们通过为新的 Java 8 版本中的 XX:MaxMetaspaceSize 设置一个值来替换旧的 XX:MaxPermSize 值。

垃圾收集器在几个小时后停止 运行,丢失了一些东西,我可以为 XX:MetaspaceSize 值或其他参数设置一个值吗?

该应用程序基于 Spring MVC,有很多 JSP,我们从来没有遇到过磁盘交换等内存问题......当我们在 JBOSS + Java 6.

问题是我们发现了一个在 Java 6.

上并不明显的内存泄漏

在 java8 元空间中有更多元素,如果垃圾收集器无法回收它们,元空间会增长,直到交换磁盘内存。