使用GCOverheadLimit是否支持G1 GC?

7
HotSpot JVM GC调优指南中,UseGCOverheadLimit选项仅在有关CMS和Parallel GC的页面上提到。此外,在GC人体工程学文档页面上,相关选项GCTimeLimitGCHeapFreeLimit被提及,就好像它们只与Parallel GC一起使用一样。

如果花费大量时间来收集少量堆,则并行垃圾回收器(UseParallelGC)会抛出内存不足异常。为避免此异常,您可以增加堆的大小。您还可以设置参数-XX:GCTimeLimit = time-limit和-XX:GCHeapFreeLimit = space-limit [...]

这些选项是否支持-XX:+ UseG1GC
1个回答

5

GC overhead limit是AdaptiveSizePolicy的一个特性,它在Parallel GC和CMS中使用,但在G1中不使用

您还可以双重检查G1CollectedHeap::mem_allocategc_overhead_limit_was_exceeded标志是否从未设置。

因此,在G1 GC中,-XX:+UseGCOverheadLimit没有任何作用。


4
实际上,已经为G1创建了一个RFE以支持此功能。请参见 https://bugs.openjdk.java.net/browse/JDK-8212084。 - Novice User

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接