< prev index next >

src/hotspot/share/gc/g1/g1CollectedHeap.cpp

Print this page

        

@@ -2898,14 +2898,19 @@
                                                                   workers()->active_workers(),
                                                                   Threads::number_of_non_daemon_threads());
     active_workers = workers()->update_active_workers(active_workers);
     log_info(gc,task)("Using %u workers of %u for evacuation", active_workers, workers()->total_workers());
 
+    if(gc_cause() == GCCause::_java_lang_system_gc) {
+        G1MonitoringScope ms(g1mm(),
+                             true /* full_gc */,
+                             collector_state()->yc_type() == Mixed /* all_memory_pools_affected */);
+    } else {
     G1MonitoringScope ms(g1mm(),
                          false /* full_gc */,
                          collector_state()->yc_type() == Mixed /* all_memory_pools_affected */);
-
+    }
     G1HeapTransition heap_transition(this);
     size_t heap_used_bytes_before_gc = used();
 
     // Don't dynamically change the number of GC threads this early.  A value of
     // 0 is used to indicate serial work.  When parallel work is done,
< prev index next >