RFR 8207364: nsk/jvmti/ResourceExhausted/resexhausted003 fails to start

serguei.spitsyn at oracle.com serguei.spitsyn at oracle.com
Thu Jul 26 01:38:02 UTC 2018


Daniil,

Thank you for the explanation.

Thanks,
Serguei


On 7/25/18 17:38, Daniil Titov wrote:
> Hi Serguei,
>
> On 64 bit machines Java fails to initialize a VM and prints " MaxMetaspaceSize is too small."  diagnostic  if the max metaspace size set to 8MB or less (java -XX:MaxMetaspaceSize=8m)
>
> Per  open/src/hotspot/share/memory/metaspace.cpp (line 1140) and open/src/hotspot/share/runtime/globals.hpp (line 1059)  MaxMetaspaceSize  on 64 bit machines should be greater than 8MB.  Comparing it to the behavior of Java 8 it seems as these settings were increased since Java 8 where the metaspace size should be greater than 4MB only.
>    
> cat -n open/src/hotspot/share/memory/metaspace.cpp
>
>    880	
>    881	#define VIRTUALSPACEMULTIPLIER 2
>    882	
>
>    1135	  // Initial virtual space size will be calculated at global_initialize()
>    1136	  size_t min_metaspace_sz =
>    1137	      VIRTUALSPACEMULTIPLIER * InitialBootClassLoaderMetaspaceSize;
>    1138	  if (UseCompressedClassPointers) {
>    1139	    if ((min_metaspace_sz + CompressedClassSpaceSize) >  MaxMetaspaceSize) {
>    1140	      if (min_metaspace_sz >= MaxMetaspaceSize) {
>    1141	        vm_exit_during_initialization("MaxMetaspaceSize is too small.");
>    1142	      } else {
>    1143	        FLAG_SET_ERGO(size_t, CompressedClassSpaceSize,
>    1144	                      MaxMetaspaceSize - min_metaspace_sz);
>    1145	      }
>    1146	    }
>
> cat -n open/src/hotspot/share/runtime/globals.hpp
>
> 1058	  product(size_t, InitialBootClassLoaderMetaspaceSize,                      \
>    1059	          NOT_LP64(2200*K) LP64_ONLY(4*M),                                  \
>    1060	          "Initial size of the boot class loader data metaspace")           \
>    1061	          range(30*K, max_uintx/BytesPerWord)                               \
>    1062	          constraint(InitialBootClassLoaderMetaspaceSizeConstraintFunc, AfterErgo)\
>
>
> Best regards,
> Daniil
>
> On 7/25/18, 4:32 PM, "serguei.spitsyn at oracle.com" <serguei.spitsyn at oracle.com> wrote:
>
>      Hi Daniil,
>      
>      It looks good to me.
>      What is the need to increase the metaspace size?
>      
>      Thanks,
>      Serguei
>      
>      
>      On 7/25/18 16:11, Daniil Titov wrote:
>      > Hello,
>      >
>      > Please review the change that fix the test issue. The fix increases the  metaspace size and corrects the path to the class files.
>      >
>      > Webrev: http://cr.openjdk.java.net/~dtitov/8207364/webrev.01/
>      > Issue: https://bugs.openjdk.java.net/browse/JDK-8207364
>      >
>      > Thanks!
>      >
>      > Best regards,
>      > Daniil
>      >
>      >
>      >
>      
>      
>
>



More information about the serviceability-dev mailing list