--- old/share/runtime/java.cpp 2018-06-12 04:14:38.119190889 -0700 +++ new/share/runtime/java.cpp 2018-06-12 04:14:38.079190888 -0700 @@ -592,6 +592,16 @@ void vm_shutdown() { + if (os::has_nvdimm() && UseParallelOldGC) { + // all expand/shrinks for UseParallelOldGC need nvdimm_fd to + // remain open so that more/less sized can be committed to nvdimm +#if defined(_WINDOWS) + // Do nothing as file is already closed as all the memory for OldGen was + // mapped in one shot for NVDIMM. +#else + os::close(os::nvdimm_fd()); +#endif + } vm_perform_shutdown_actions(); os::wait_for_keypress_at_exit(); os::shutdown();