在HotSpot JVM GC Tuning Guide中,UseGCOverheadLimit
选项仅在有关CMS和并行GC的页面上提及。此外,在GC Ergonomics doc页面上,提到相关选项GCTimeLimit
和GCHeapFreeLimit
,就像它们仅适用于Parallel GC一样:
如果花费过多的时间来收集少量的堆,则并行垃圾收集器(UseParallelGC)会抛出内存不足的异常。要避免此异常,可以增加堆的大小。您还可以设置参数-XX:GCTimeLimit =时间限制和-XX:GCHeapFreeLimit =空间限制[...]
-XX:+UseG1GC
是否支持这些选项?
答案 0 :(得分:2)
GC开销限制是AdaptiveSizePolicy的功能,用于并行GC和CMS,但是not in G1。
您还可以仔细检查G1CollectedHeap::mem_allocate
中是否从未设置gc_overhead_limit_was_exceeded
标记。
因此,-XX:+UseGCOverheadLimit
在G1 GC中没有任何作用。