【发布时间】:2017-06-06 13:43:40
【问题描述】:
我的服务器应用程序生成了许多年轻的对象,所以我假设伊甸园和幸存者空间很快就被填满了,这会导致频繁的 GC 运行。
我的目标是少跑/长跑,比如每天一次,即使需要几秒钟。
您将如何针对此目标调整 JVM?
我应该使用哪个 GC? (最高 G1)。
可用堆空间约为 4Gb (-Xmx4G)
【问题讨论】:
-
您是在谈论年轻一代还是老一代系列?此外,发布 GC 日志并指出哪些部分超出了您认为可以容忍的范围。
-
@the8472 我说的是频繁的年轻代收集。
-
减少长时间运行“full gc”的唯一方法是不要让内存堆积。更频繁地运行 gc 将使堆保持较小。它是您应该调整的“世界暂停”事件(完整 gc)。如果您的应用正在创建大量新对象,那么您应该使用 parallelGC。
标签: java performance garbage-collection jvm