Surprise with ShenandoahGuaranteedGCInterval

Holger Hoffstätte holger at
Tue Jan 21 17:11:13 UTC 2020

Not sure if I'm holding it wrong, but here goes.. :)

After building icedtea-3.15 I wanted to use it for an application that
has very long periods of complete inactivity. Since I am running with compact,
have a proper alloc threshold for quasi-generational behaviour and don't need
periodic GC I thought to disable ShenandoahGuaranteedGCInterval.
You can probably guess what comes next..

Setting it to 0 turned out to not do what I expected, which was to turn
off the periodic timer; instead it seems to take the option at face value
and runs continously. -1 didn't work either; I ended up using 1h, which
unfortunately keeps the timer running, waking up the process every second
or so.

IMHO it would be nice to be able to turn the timer off. I understand why
it's there and why it's super useful for normal operation; it's just that
in this very particular case I don't need it, and it shows in my overnight
idle CPU usage, which goes from 0.05% to 0.10%.

So..just a config/usability suggestion. :)


More information about the shenandoah-dev mailing list