RFR: Conditionalize PerfDataMemorySize on enabled heap sampling

Aleksey Shipilev shade at redhat.com
Fri Jan 26 17:00:20 UTC 2018


Saves some memory when sampling is not enabled (default case), and boosts up when we deal with lots
of Shenandoah sampling data:

diff -r 3c12448ec444 src/hotspot/share/runtime/arguments.cpp
--- a/src/hotspot/share/runtime/arguments.cpp	Thu Jan 25 18:44:13 2018 +0100
+++ b/src/hotspot/share/runtime/arguments.cpp	Fri Jan 26 17:58:21 2018 +0100
@@ -2035,8 +2035,10 @@
     FLAG_SET_DEFAULT(ParallelRefProcEnabled, true);
   }

-  if (FLAG_IS_DEFAULT(PerfDataMemorySize)) {
-    FLAG_SET_DEFAULT(PerfDataMemorySize, 512*K);
+  if (ShenandoahRegionSampling && FLAG_IS_DEFAULT(PerfDataMemorySize)) {
+    // When sampling is enabled, max out the PerfData memory to get more
+    // Shenandoah data in, including Matrix.
+    FLAG_SET_DEFAULT(PerfDataMemorySize, 2048*K);
   }

 #ifdef COMPILER2

Testing: hotspot_gc_shenandoah

Thanks,
-Aleksey



More information about the shenandoah-dev mailing list