RFR: 8321816: GenShen: Provide a minimum amount of time for an old collection to run [v3]
William Kemper
wkemper at openjdk.org
Wed Dec 20 23:36:12 UTC 2023
On Wed, 20 Dec 2023 23:27:29 GMT, William Kemper <wkemper at openjdk.org> wrote:
>> Young collections are allowed to interrupt old collections. Under heavy load, this may result in starvation of old collections - which may in turn lead to even more memory pressure on the young generation. Adding a minimum guaranteed amount of time for the old gc to make progress will help avoid this situation.
>
> William Kemper has updated the pull request incrementally with one additional commit since the last revision:
>
> Only start global cycles when metaspace is out of memory
The difference between `ShenandoahMinimumOldMarkTimeMs=10` and `ShenandoahMinimumOldMarkTimeMs=100` is not so great, but the effect is notable with `ShenandoahMinimumOldMarkTimeMs=`1000`.
### -XX:ShenandoahMinimumOldMarkTimeMs=1000
1000/genshen/specjbb2015/1/specjbb2015.jvm.log 6 Completed Old GCs (2.39%)
1000/genshen/specjbb2015/1/specjbb2015.jvm.log 8 mixed
1000/genshen/specjbb2015/1/specjbb2015.jvm.log 2 interruptions
--
1000/genshen/specjbb2015/2/specjbb2015.jvm.log 7 Completed Old GCs (2.49%)
1000/genshen/specjbb2015/2/specjbb2015.jvm.log 10 mixed
1000/genshen/specjbb2015/2/specjbb2015.jvm.log 3 interruptions
### -XX:ShenandoahMinimumOldMarkTimeMs=100
100/genshen/specjbb2015/1/specjbb2015.jvm.log 7 Completed Old GCs (1.91%)
100/genshen/specjbb2015/1/specjbb2015.jvm.log 8 mixed
100/genshen/specjbb2015/1/specjbb2015.jvm.log 24 interruptions
--
100/genshen/specjbb2015/2/specjbb2015.jvm.log 6 Completed Old GCs (2.39%)
100/genshen/specjbb2015/2/specjbb2015.jvm.log 6 mixed
100/genshen/specjbb2015/2/specjbb2015.jvm.log 8 interruptions
### -XX:ShenandoahMinimumOldMarkTimeMs=10
10/genshen/specjbb2015/1/specjbb2015.jvm.log 6 Completed Old GCs (2.91%)
10/genshen/specjbb2015/1/specjbb2015.jvm.log 6 mixed
10/genshen/specjbb2015/1/specjbb2015.jvm.log 7 interruptions
--
10/genshen/specjbb2015/2/specjbb2015.jvm.log 7 Completed Old GCs (2.50%)
10/genshen/specjbb2015/2/specjbb2015.jvm.log 7 mixed
10/genshen/specjbb2015/2/specjbb2015.jvm.log 14 interruptions
-------------
PR Comment: https://git.openjdk.org/shenandoah/pull/371#issuecomment-1865275806
More information about the shenandoah-dev
mailing list