ShenandoahStrDedupTable::lookup_or_add uses a lot of CPU time
Zhengyu Gu
zgu at redhat.com
Mon Jul 9 20:19:25 UTC 2018
Hi Omar,
Sorry for replying late.
We might have disabled ClassUnloadingWithConcurrentMark by default
between b246 - b251.
Please try: -XX:+ClassUnloadingWithConcurrentMark, see if the problem
goes away.
Thanks,
-Zhengyu
On 06/24/2018 06:08 PM, Omar Kilani wrote:
> Hi,
>
> This is more of a 'is this how it should be?' rather than a bug report
> or defect.
>
> Our apps running on the JVM basically read things from a database, do
> X, and emit JSON. So... pretty string heavy.
>
> Running 'perf top' shows ShenandoahStrDedupTable::lookup_or_add using
> something like 25% of all CPU time on a 24 phsyical / 48 HT Intel(R)
> Xeon(R) Gold 6126 CPU @ 2.60GHz.
>
> I'm sort of wondering if something changed recently as we moved from
> shipilev openjdk-shenandoah-jdk10 b246 to b251 and I don't remember
> this sort of behavior. Our pause times with StringDedup enabled look
> like this:
>
> [97116.240s][info][gc,start ] GC(821) Pause Init Mark
> [97116.366s][info][gc ] GC(821) Pause Init Mark 126.301ms
> [97116.524s][info][gc,start ] GC(821) Pause Final Mark
> [97116.525s][info][gc ] GC(821) Pause Final Mark 1.311ms
> [97116.534s][info][gc,start ] GC(821) Pause Init Update Refs
> [97116.534s][info][gc ] GC(821) Pause Init Update Refs 0.142ms
> [97116.566s][info][gc,start ] GC(821) Pause Final Update Refs
> [97116.655s][info][gc ] GC(821) Pause Final Update Refs 88.653ms
>
> And our pause times without StringDup look like this:
>
> [4109.086s][info][gc,start ] GC(41) Pause Init Mark
> [4109.095s][info][gc ] GC(41) Pause Init Mark 8.566ms
> [4109.119s][info][gc,start ] GC(41) Pause Final Mark
> [4109.120s][info][gc ] GC(41) Pause Final Mark 1.478ms
> [4109.126s][info][gc,start ] GC(41) Pause Init Update Refs
> [4109.126s][info][gc ] GC(41) Pause Init Update Refs 0.134ms
> [4109.136s][info][gc,start ] GC(41) Pause Final Update Refs
> [4109.141s][info][gc ] GC(41) Pause Final Update Refs 5.518ms
>
> The only difference here is the -XX:+UseStringDeduplication option.
>
> I'd really appreciate any insights or hunches. :)
>
> Regards,
> Omar
>
More information about the shenandoah-dev
mailing list