首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java 8元空间垃圾收集

Java 8元空间垃圾收集
EN

Stack Overflow用户
提问于 2015-07-23 20:42:38
回答 1查看 10.5K关注 0票数 9

我正在运行的一个java进程在它运行的第一个小时左右就一直表现良好。但是,性能随后会迅速下降。当分析时,我发现元空间垃圾收集相当频繁地发生,直到小时标记,然后失控:

我非常确定我可以使用-XX:MaxMetaspaceSize选项来解决这个问题。然而,我想更多地了解为什么会发生这种行为。我不能想象为什么垃圾收集算法会这样。有没有人有关于更好的修复的解释或建议?谢谢

EN

回答 1

Stack Overflow用户

发布于 2015-07-26 08:16:37

您可以尝试设置-XX:MaxMetaspaceExpansion=0。在尝试增长元空间之前,这应该会强制执行完整的GC -释放动态创建的方法/类数据。此外,您可以尝试将MaxMetaspaceFreeRatio设置为比缺省值更低的值,以便在GC之后进一步缩小元空间本身。

有关其他元空间相关选项,请参阅this answer

元空间收集本身依赖于垃圾收集器正在卸载的类。因此,根据您正在使用的GC,调整以更快地回收垃圾可能也会有所帮助。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31587732

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档