diff -r c97db0855565 -r 758c07667682 src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp --- a/src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp Tue Feb 04 17:38:01 2020 +0800 +++ b/src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp Tue Feb 04 18:13:14 2020 +0800 @@ -530,6 +530,10 @@ full_gc_count = Universe::heap()->total_full_collections(); } + if (GC_locker::should_discard(cause, gc_count)) { + return; + } + VM_ParallelGCSystemGC op(gc_count, full_gc_count, cause); VMThread::execute(&op); }