RFR (XS) 8242042: Shenandoah: tune down ShenandoahGarbageThreshold

Roman Kennke rkennke at redhat.com
Thu Apr 2 15:05:06 UTC 2020


Yes. I also run some stuff and did not see a regression.

Thank you,
Roman


Am 02.04.20 um 15:45 schrieb Aleksey Shipilev:
> 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
> 



More information about the shenandoah-dev mailing list