【发布时间】:2019-01-21 07:43:46
【问题描述】:
无论我分配多少内存 4、8 或 10 Gig,我的应用程序都会消耗大部分内存 - 96% - 每隔几天就会停止,因为它没有足够的内存来GC。
我们正在监控和触发手动 GC 以减轻痛苦,但我希望 JVM 能够自行预测这一点并在适当的时候进行 GC。
在 80% 时我应该考虑哪些标志来触发 GC - 这种坦率的方法是否正确?
【问题讨论】:
-
你走错了路。追查内存泄漏而不是治标不治本。
-
我宁愿建议你生成一个堆转储来分析内存泄漏问题
-
@NicolasB 不要尝试自己触发 GC。最多你可以“请求”它运行。但是,在内心深处,GC 有点乱。 GC 本身将决定何时运行,甚至是否运行。您不能自己触发它,并确保它实际运行。
标签: java garbage-collection jvm