--- old/src/hotspot/share/memory/metaspace.cpp 2017-10-10 12:02:48.238338380 +0900 +++ new/src/hotspot/share/memory/metaspace.cpp 2017-10-10 12:02:47.765328363 +0900 @@ -3324,6 +3324,17 @@ CompressedClassSpaceSize = align_down_bounded(CompressedClassSpaceSize, _reserve_alignment); set_compressed_class_space_size(CompressedClassSpaceSize); + + size_t min_metaspace_sz = calculate_min_metaspace_size(); + if (!UseCompressedClassPointers && (min_metaspace_sz >= MaxMetaspaceSize)) { + FLAG_SET_ERGO(size_t, InitialBootClassLoaderMetaspaceSize, + min_metaspace_sz); + } + +} + +size_t Metaspace::calculate_min_metaspace_size() { + return InitialBootClassLoaderMetaspaceSize + (MediumChunk * HeapWordSize); } void Metaspace::global_initialize() {