gpt4 book ai didi

java - 如果我增加内存堆是否会增加 GC 时间

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:31:11 27 4
gpt4 key购买 nike

我当前的应用程序在 2GB 内存正常 GC 周期上运行。

我想将 JVM 内存增加到 4GB 以提高应用程序性能。

它会增加 GC 时间吗?如果是,性能会受到多大影响。他们有什么好的文章来调整 GC 吗?

最佳答案

简答题

是的,时间会增加。更大的堆 = 更长的暂停时间

长答案

有几个因素需要考虑。你如何配置你的 GC 来运行?你有多大规模你的年轻一代?您多久看到一次完整的 GC?

如果您很少看到完整的 GC,那么差异可以忽略不计。如果您将 GC Activity 记录到日志中,您可以看到部分 GC 的暂停时间非常快。部分 GC 上 2GB 和 4GB 之间的差异约为 0.1 秒。要记录 GC Activity ,您可以使用以下参数 -XX:+PrintGCDetails -verbose:gc -Xloggc:/log/path/gc.log。有许多工具可以为您读取此 GC 日志,提供图表和统计数据,例如吞吐量和总暂停时间。

如果您经常看到 Full GC,这就是您想要添加更多内存的原因,那么您可能需要考虑对应用程序进行分析,而不是查看是什么占用了所有内存。使用更大的堆,这些问题只会导致更长的 GC,直到您解决潜在的问题。

最后,您需要尝试各种配置,正确测试并将最适合您的配置放入您的生产环境。

关于java - 如果我增加内存堆是否会增加 GC 时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6266860/

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