--- old/src/hotspot/os/linux/os_linux.cpp 2018-09-27 17:30:59.833583944 +0530 +++ new/src/hotspot/os/linux/os_linux.cpp 2018-09-27 17:30:59.693583945 +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 (VMError::is_forkmode_vfork()) { + pid = vfork(); + } else { + pid = fork(); + } if (pid < 0) { // fork failed