--- old/src/hotspot/os/linux/os_linux.cpp 2018-09-19 16:59:33.062989864 +0530 +++ new/src/hotspot/os/linux/os_linux.cpp 2018-09-19 16:59:32.942989864 +0530 @@ -5720,7 +5720,13 @@ int os::fork_and_exec(char* cmd) { const char * argv[4] = {"sh", "-c", cmd, NULL}; - pid_t pid = fork(); + pid_t pid ; + + if (OnOutOfMemoryError && OnOutOfMemoryError[0]) { + pid = vfork(); + } else { + pid = fork(); + } if (pid < 0) { // fork failed