将 Java 应用程序从 Java 6 + Jboss 迁移到 Java 8 + Tomcat 期间。
我们通过在新的 Java 8 版本中设置 XX:MaxMetaspaceSize
值来替换旧的 XX:MaxPermSize
值。
垃圾收集器在几个小时后停止运行,缺少某些内容,我是否可以为 XX:MetaspaceSize
值或其他参数设置一个值?
该应用程序基于带有大量 JSP 的 Spring MVC,当我们使用 JBOSS + Java 6 时,我们从未遇到过磁盘交换等内存问题。
最佳答案
问题是我们发现了 Java 6 上不明显的内存泄漏。
在 java 8 上,元空间中有更多元素,如果垃圾收集器无法收集它们,元空间就会增长,直到交换磁盘内存。
关于java - 设置 XX :MaxMetaspaceSize to the same old XX:MaxPermSize value 后垃圾收集器停止运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61845158/