RFR: 8267404: vmTestbase/vm/mlvm/anonloader/stress/oome/metaspace/Test.java failed with OutOfMemoryError
Stefan Karlsson
stefank at openjdk.java.net
Fri May 21 08:46:27 UTC 2021
On Fri, 21 May 2021 05:11:51 GMT, Jie Fu <jiefu at openjdk.org> wrote:
> Hi all,
>
> vmTestbase/vm/mlvm/anonloader/stress/oome/metaspace/Test.java OOMEs on Oracle's aarch64 platforms.
> The reason is that both -Xmx and -XX:MetaspaceSize are not enough.
>
> From the original JBS decription of JDK-8267404, the VM OOMEs before the expected OOME in metaspace happened showing that -Xmx256m is not enough.
>
> Then, @dcubed-ojdk helped me test with -Xmx512, which still OOMEs.
> However, the expected OOME in metaspace was caught this time.
> But a second uncaught OOME in metaspace happened soon, which means -XX:MetaspaceSize=8m is not enough.
>
> So both -Xmx and -XX:MetaspaceSize should be increased.
> The fix just:
> - Revert changes about mataspace size setting
> - Increase -Xmx from 256m to 1g
>
> -Xmx512m may be OK on Oracle's aarch64 machines, but to make it safer, -Xmx1g is preferred.
>
> Thanks.
> Best regards,
> Jie
Maybe this is already understood, but in case it is not clear: -XX:MetaspaceSize is only used to determine at what point the first metaspace-induced GC should happen. When the Metaspace is filled up to that value, we trigger a GC. It is -XX:MaxMetaspaceSize that is the limit of how much memory we may commit for the metaspace.
-------------
PR: https://git.openjdk.java.net/jdk/pull/4140
More information about the hotspot-runtime-dev
mailing list