java - 设置 XX :MaxMetaspaceSize to the same old XX:MaxPermSize value 后垃圾收集器停止运行

标签 java memory-leaks garbage-collection jvm-hotspot permgen

将 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/

相关文章:

java - 在 Junit 中,如何防止打印故意抛出并已在日志中捕获的预期异常?

java - 使用 7mb RAM 的 Android FinalizerReference

Mac OSX 上的 c++ 内存泄漏检测

java - JVM 如何实现 IdentityHashMap?

java - 如何防止 PrintWriter 覆盖 Java 中的文件

java - @Autowired 说不推荐现场注入(inject)

全局字符串变量的Java声明

php - 为什么我在使用 $item->get_permalink() 时会在 SimplePie 中发生内存泄漏?

android - 网络回调的弱引用是个坏主意?

memory-management - 你可以在禁用 Go 垃圾收集的情况下释放内存吗?