Strage jmap heap output for G1 on 32bit JVM

Jesper Wilhelmsson jesper.wilhelmsson at oracle.com
Thu May 21 17:23:01 UTC 2015


OK. One way to find what change that fixed this in 9 would be to go back in the 
9 history and see where it starts to fail. I could do that if I had a 
reproducer. Is it an option for you to share your reproducer? If not I guess you 
can step back in the mercurial history on your side if you feel comfortable 
building the JDK locally.

Once we find the fix we can backport it to 8u. We are slightly short on time 
though since 8u60 is ramping down right now.

Thanks,
/Jesper


Jakub Kubryński skrev den 20/5/15 22:46:
> I've checked with latest JDK 9 and it's OK. However 8u60 still reports incorrect
> number of regions for Xmx2g. For -Xmx2046m it's OK and for -Xmx2047m there
> are 14336 regions reported and eden capacity is 15032385536 (14336.0MB).
>
> I don't know PrintHeapAtExit flag but I've added PrintHeapAtGC and it reported:
>
> Heap
>   garbage-first heap   total 125952K, used 99580K [0x66600000, 0x667001ec,
> 0xe6600000)
>    region size 1024K, 62 young (63488K), 7 survivors (7168K)
>   Metaspace       used 29856K, capacity 30136K, committed 30208K, reserved 31024K
>
> Cheers,
> Kuba
>
>
> 2015-05-20 17:48 GMT+02:00 Jesper Wilhelmsson <jesper.wilhelmsson at oracle.com
> <mailto:jesper.wilhelmsson at oracle.com>>:
>
>     FYI, I filed JDK-8080784 to cover this issue.
>
>     https://bugs.openjdk.java.net/browse/JDK-8080784
>
>     /Jesper
>
>
>     Jakub Kubryński skrev den 20/5/15 16:50:
>
>         Yes,  I'll check it on latest Jdk9 and let you know.
>
>         Best,
>         Jakub
>
>         20 maj 2015 16:35 "Jesper Wilhelmsson" <jesper.wilhelmsson at oracle.com
>         <mailto:jesper.wilhelmsson at oracle.com>
>         <mailto:jesper.wilhelmsson at oracle.com
>         <mailto:jesper.wilhelmsson at oracle.com>>> napisał(a):
>
>              Ok. I tried that as well but it didn't reproduce.
>
>              After a closer look it seems as if it is the number of regions that
>         is wrong
>              and causes the huge free size reported. There have been a few
>         changes in
>              this area recently which may have fixed this issue.
>
>              Is it possible to try your reproducer with a recent build of JDK 9
>         or the
>              latest version of 8u from the OpenJDK source repositories?
>              /Jesper
>
>
>              Jakub Kubryński skrev den 20/5/15 15:23:
>
>                  64 bit Linux with 32bit JVM.
>
>                  Cheers,
>                  Jakub
>
>                  20 maj 2015 15:18 "Jesper Wilhelmsson"
>         <jesper.wilhelmsson at oracle.com <mailto:jesper.wilhelmsson at oracle.com>
>                  <mailto:jesper.wilhelmsson at oracle.com
>         <mailto:jesper.wilhelmsson at oracle.com>>
>                  <mailto:jesper.wilhelmsson at oracle.com
>         <mailto:jesper.wilhelmsson at oracle.com>
>                  <mailto:jesper.wilhelmsson at oracle.com
>         <mailto:jesper.wilhelmsson at oracle.com>>>> napisał(a):
>
>                       Hi,
>
>                       Does this reproduce every time?
>                       What platform is it?
>
>                       I have tried to reproduce this on 32bit linux but can't see
>                  anything weird
>                       there. It seems likely that there is a variable with the
>         wrong type
>                       somewhere on the way. I'll see if I can find something.
>                       /Jesper
>
>
>                       Jakub Kubryński skrev den 15/5/15 17:22:
>
>                           Hi,
>
>                           I've just checked that on 32bit JVM (HotSpot 8u45)
>         jmap reports
>                  strange
>                           region
>                           information for G1 collector. As you can see Xmx is
>         set to 2G
>                  (which fits
>                           MaxHeapSize) but regions count (almost 15k) and
>         capacity is
>                  incorrect.
>                           Any ideas
>                           why?
>
>                           Heap Configuration:
>                                MinHeapFreeRatio         = 40
>                                MaxHeapFreeRatio         = 70
>                                MaxHeapSize              = 2147483648
>         <tel:2147483648> <tel:2147483648 <tel:2147483648>>
>                  <tel:2147483648 <tel:2147483648> <tel:2147483648
>         <tel:2147483648>>> (2048.0MB)
>                                NewSize                  = 1048576 (1.0MB)
>                                MaxNewSize               = 428867584 (409.0MB)
>                                OldSize                  = 4194304 (4.0MB)
>                                NewRatio                 = 2
>                                SurvivorRatio            = 8
>                                MetaspaceSize            = 16777216 (16.0MB)
>                                CompressedClassSpaceSize = 1073741824 (1024.0MB)
>                                MaxMetaspaceSize         = 4294963200
>         (4095.99609375MB)
>                                G1HeapRegionSize         = 1048576 (1.0MB)
>
>                           Heap Usage:
>                           G1 Heap:
>                                regions  = 14336
>                                capacity = 15032385536 <tel:15032385536>
>         <tel:15032385536 <tel:15032385536>> <tel:15032385536 <tel:15032385536>
>                  <tel:15032385536 <tel:15032385536>>> (14336.0MB)
>                                used     = 76347888 (72.81101989746094MB)
>                                free     = 14956037648 (14263.188980102539MB)
>                                0.5078893687043872% used
>
>                           --
>                           Best regards,
>                           Jakub Kubrynski
>
>
>
>
> --
> Best regards,
> Jakub Kubrynski


More information about the hotspot-gc-dev mailing list