RFR: JDK-8087291: InitialBootClassLoaderMetaspaceSize and CompressedClassSpaceSize should be checked consistent from MaxMetaspaceSize

Jon Masamitsu jon.masamitsu at oracle.com
Thu Jun 18 01:45:39 UTC 2015


Try running a debug JVM with your patch with this command line.

java -XX:MaxMetaspaceSize=4195328 -version

On a linux system I get this when I build with your patch.

> java -XX:MaxMetaspaceSize=4195328 -version
> # To suppress the following error report, specify this argument
> # after -XX: or in .hotspotrc: SuppressErrorAt=/metaspace.cpp:2324
> #
> # A fatal error has been detected by the Java Runtime Environment:
> #
> #  Internal Error 
> (/export/jmasa/java/jdk9-gc-code_review/src/share/vm/memory/metaspace.cpp:2324), 
> pid=19099, tid=0x00007ff4b9b92700
> #  assert(size > MediumChunk || size > ClassMediumChunk) failed: Not a 
> humongous chunk
> #


On 6/17/2015 7:54 AM, Yasumasa Suenaga wrote:
> I want to continue to discuss about CompressedClassSpace and MaxMetaspace in this (RFR) thread.
> http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/2015-June/013873.html
>>> Should I resize CompressedClassSpaceSize than to show error message?
>> If you add slightly better heuristics for the setup of the CompressedClassSpaceSize flag, for example lowering the CompressedClassSpaceSize when MaxMetaspaceSize is set, then it might be less likely that you'll hit the OutOfMemoryError when the system is set up with strict overcommit settings.
> I've uploaded new webrev:
> http://cr.openjdk.java.net/~ysuenaga/JDK-8087291/webrev.01/
> This patch checkes MaxMetaspaceSize, CompressedClassSpaceSize, and
> InitialBootClassLoaderMetaspaceSize.
> I add to check CompressedClassSpaceSize in Arguments::set_use_compressed_klass_ptrs().
> If InitialBootClassLoaderMetaspaceSize is greater than MaxMetaspaceSize,
> VM will fail with error message.
> InitialBootClassLoaderMetaspaceSize will be set to MaxMetaspaceSize
> when UseCompressedClassPointers is not set in Metaspace::ergo_initialize().
> Thanks,
> Yasumasa

More information about the hotspot-gc-dev mailing list