gpt4 book ai didi

Java 8 元空间垃圾回收

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:51:34 24 4
gpt4 key购买 nike

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

enter image description here

我很确定我可以使用 -XX:MaxMetaspaceSize 选项来解决这个问题。但是,我想更多地了解为什么会发生这种行为。我无法想象为什么垃圾收集算法会这样。有没有人对更好的解决方案有解释或建议?谢谢

最佳答案

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

参见 this answer其他与元空间相关的选项。

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

关于Java 8 元空间垃圾回收,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31587732/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com