large size of [Ljdk.internal.vm.FillerElement in jmap histo

shanghe chen chenshanghe at outlook.com
Thu Jul 25 16:10:07 UTC 2024


Thanks for the helpful infomation! Yeah I am trying to understand this. it seems after jdk21 the int[] is turned to FillerArray (or FillerElement?) and I am not sure if it count into the JMX bean for monitoring the Oldgen size of G1GC or not though.
________________________________
From: Aleksey Shipilev <shipilev at amazon.de>
Sent: Thursday, July 25, 2024 23:56
To: shanghe chen <chenshanghe at outlook.com>; jdk-dev at openjdk.org <jdk-dev at openjdk.org>
Subject: Re: large size of [Ljdk.internal.vm.FillerElement in jmap histo



On 25.07.24 17:54, shanghe chen wrote:
> Hi in a web service with openjdk 21.0.3 using G1GC with heap size 26GB, we recently sometimes
> observed a huge jump up of the oldgen like from 9GB to 20GB in about 3 minutes and then slowly
> returned to 9GB (which is the normal size) in about 30 minutes, checking jmap histo we found:
>
>   num     #instances         #bytes  class name (module)
> -------------------------------------------------------
>     1:       6328181    16406573984  [Ljdk.internal.vm.FillerElement; (java.base at 21.0.3)
>     2:      18920559     1233399640  [Ljava.lang.Object; (java.base at 21.0.3)
>     3:      18813814      848534768  [B (java.base at 21.0.3)
>     4:       5939383      771222984  [I (java.base at 21.0.3)
>     5:       3093810      654462640  [J (java.base at 21.0.3)
>     6:      15519103      496611296  java.util.HashMap$Node (java.base at 21.0.3)
>     7:      17985808      431659392  java.util.Date (java.base at 21.0.3)
>     8:      17415598      417974352  java.util.ArrayList (java.base at 21.0.3)
>     9:      16857329      404575896  java.lang.String (java.base at 21.0.3)
>    10:       9743073      389722920  java.math.BigDecimal (java.base at 21.0.3)
>    11:       4410896      281417160  [Ljava.util.HashMap$Node; (java.base at 21.0.3)
>
> Any idea for why the class jdk.internal.vm.FillerElement has so large size? There seems to be less
> document for this class. Thanks in advanced!

Those are filler arrays, they are not "real" reachable objects. See more here:
  https://shipilev.net/jvm/anatomy-quarks/5-tlabs-and-heap-parsability/

-Aleksey



Amazon Web Services Development Center Germany GmbH
Krausenstr. 38
10117 Berlin
Geschaeftsfuehrung: Christian Schlaeger, Jonathan Weiss
Eingetragen am Amtsgericht Charlottenburg unter HRB 257764 B
Sitz: Berlin
Ust-ID: DE 365 538 597
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/jdk-dev/attachments/20240725/212024c2/attachment-0001.htm>


More information about the jdk-dev mailing list