heap memory usage increasing over time with a fixed live set size
Amir Hadadi
amirhadadi at hotmail.com
Sun Nov 3 07:43:25 UTC 2019
Thanks Alexey!
Once concurrent class unloading is incorporated, when will it be triggered?
Evidently running it only on special occasions (e.g. degenerated gc) can become a nasty performance race to the bottom for certain workloads.
Will it be triggered as if -XX:+ClassUnloadingWithConcurrentMark was enabled, making this flag a no op?
What are the plans in that respect?
________________________________
From: Aleksey Shipilev <shade at redhat.com>
Sent: Friday, November 1, 2019 5:31 PM
To: Amir Hadadi <amirhadadi at hotmail.com>; shenandoah-dev at openjdk.java.net <shenandoah-dev at openjdk.java.net>
Subject: Re: heap memory usage increasing over time with a fixed live set size
On 10/9/19 2:52 PM, Amir Hadadi wrote:
> I see that when a degenerated gc occasionally happens due to allocation failure, class unloading gets the memory back to baseline level.
> The logs also show that there's a serious amount of strings being removed from the string table, probably due to Jackson interning field names.
I knew that sounded familiar:
https://github.com/FasterXML/jackson-core/issues/378
https://github.com/FasterXML/jackson-core/issues/332
If I read those threads right, if you upgrade to Jackson 3.0+, field names interning would go away.
Ditto should happen if you override JsonFactory.Feature.INTERN_FIELD_NAMES to false.
--
Thanks,
-Aleksey
More information about the shenandoah-dev
mailing list