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

Aleksey Shipilev shipilev at amazon.de
Thu Jul 25 15:56:37 UTC 2024



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


More information about the jdk-dev mailing list