【发布时间】:2016-07-12 08:47:25
【问题描述】:
在我的 tomcat 应用程序中,我看到非常频繁的完整 GC,即使 oldgen 未满(至少 20% 空闲)。我观察到 PS Survivor 空间大部分时间都是 100% 使用的。这可以触发完整的 GC 吗?还是可以触发次要GC?
【问题讨论】:
在我的 tomcat 应用程序中,我看到非常频繁的完整 GC,即使 oldgen 未满(至少 20% 空闲)。我观察到 PS Survivor 空间大部分时间都是 100% 使用的。这可以触发完整的 GC 吗?还是可以触发次要GC?
【问题讨论】:
这会触发完整的 GC 吗?
如果在次要 GC 期间幸存空间已满,则会触发完整收集。
或者它可以触发次要 GC 吗?
它只会在次要收集期间添加对象,因此唯一的方法是尝试完整收集。
你的幸存者比例很可能太低了。
oldgen 未满(至少 20% 可用)
我建议您的堆在完全收集后应该有 50% - 70% 的空闲空间,以便为您的应用程序提供足够的空间。在一次完整的 GC 之后,我往往有 90% 以上的空闲。
【讨论】: