RFR (XS) 8242042: Shenandoah: tune down ShenandoahGarbageThreshold
Aleksey Shipilev
shade at redhat.com
Thu Apr 2 13:45:28 UTC 2020
RFE:
https://bugs.openjdk.java.net/browse/JDK-8242042
See the discussion in the bug report. No regressions found on benchmarks with mostly-dead heaps.
Improvements found on benchmarks with moderately-fragmented heaps.
Patch:
diff -r 56444036b262 src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp
--- a/src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp Thu Apr 02 15:33:07 2020 +0200
+++ b/src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp Thu Apr 02 15:44:17 2020 +0200
@@ -92,15 +92,16 @@
experimental(uintx, ShenandoahUnloadClassesFrequency, 1, \
"Unload the classes every Nth cycle. Normally affects concurrent "\
"GC cycles, as degenerated and full GCs would try to unload " \
"classes regardless. Set to zero to disable class unloading.") \
\
- experimental(uintx, ShenandoahGarbageThreshold, 60, \
+ experimental(uintx, ShenandoahGarbageThreshold, 25, \
"How much garbage a region has to contain before it would be " \
- "taken for collection. This a guideline only , as GC heuristics " \
+ "taken for collection. This a guideline only, as GC heuristics " \
"may select the region for collection even if it has little " \
- "garbage. In percents of heap region size.") \
+ "garbage. This also affects how much internal fragmentation the " \
+ "collector accepts. In percents of heap region size.") \
range(0,100) \
\
experimental(uintx, ShenandoahInitFreeThreshold, 70, \
"How much heap should be free before some heuristics trigger the "\
"initial (learning) cycles. Affects cycle frequency on startup " \
TEsting: hotspot_gc_shenandoah, eyeballing gc logs, benchmarks
--
Thanks,
-Aleksey
More information about the shenandoah-dev
mailing list