garbage-collection - JVM 主要垃圾收集数月未运行

标签 garbage-collection jvm heap-memory

我的应用程序垃圾收集器过去经常运行一个主要的项目,也许每天一次。但它突然停止工作了。现在它已经达到了 90%,我不得不重新启动应用程序几次。 这是在生产环境中,我允许做的是读取日志并通过提供的 UI 查看 JVM 状态。

我的另一个观察结果是,在过去 3 个月中,前 2 个月没有小型垃圾收集,但有很多大型垃圾收集。上个月没有大型收藏,但有许多小型收藏。

最佳答案

也许它永远不会进行主要收集,因为您在应用程序有机会之前就重新启动了它。

如果新空间大小合理,您应该会得到许多小型收藏品。

如果您只获取主要集合,则很可能您的 JVM 没有正确调整。我会尝试删除尽可能多的 GC 调整参数,并且仅在您知道有帮助的情况下才添加每个参数。设置太多调整参数是导致奇怪行为的好方法。

关于garbage-collection - JVM 主要垃圾收集数月未运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39645359/

相关文章:

c - 为什么堆溢出 "allowed"会卡死系统?

c - 将指针作为参数传递

c# - 发生压缩后GC如何更新引用

java - Java 的垃圾收集何时释放内存分配?

mysql - 日志记录级别低,导致关闭 Hook 无法正常运行

java - 这是java能做而c不能做的事情吗?

java - Java 垃圾收集器会停止我从 JNI 调用创建的 POSIX 线程吗?

java - OpenL 平板电脑规则存在许多条件内存问题

java - JVM 周期性挂起

c++ - QDialogProgress的分配和删除