G1 GC是否支持UseGCOverheadLimit?

时间:2017-08-28 19:19:30

标签: java garbage-collection jvm jvm-hotspot g1gc

HotSpot JVM GC Tuning Guide中,UseGCOverheadLimit选项仅在有关CMS和并行GC的页面上提及。此外,在GC Ergonomics doc页面上,提到相关选项GCTimeLimitGCHeapFreeLimit,就像它们仅适用于Parallel GC一样:

  

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

-XX:+UseG1GC是否支持这些选项?

1 个答案:

答案 0 :(得分:2)

GC开销限制是AdaptiveSizePolicy的功能,用于并行GC和CMS,但是not in G1

您还可以仔细检查G1CollectedHeap::mem_allocate中是否从未设置gc_overhead_limit_was_exceeded标记。

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