diff --git a/core/src/main/scala/org/apache/spark/util/Utils.scala b/core/src/main/scala/org/apache/spark/util/Utils.scala index 3b0efffedec6f..4c79f1788cfa9 100644 --- a/core/src/main/scala/org/apache/spark/util/Utils.scala +++ b/core/src/main/scala/org/apache/spark/util/Utils.scala @@ -2142,7 +2142,8 @@ private[spark] object Utils def getHeapHistogram(): Array[String] = { // From Java 9+, we can use 'ProcessHandle.current().pid()' val pid = getProcessName().split("@").head - val jmap = System.getProperty("java.home") + "/bin/jmap" + val jmap = Option(System.getenv("JAVA_HOME")) + .getOrElse(System.getProperty("java.home")) + "/bin/jmap" val builder = new ProcessBuilder(jmap, "-histo:live", pid) val p = builder.start() val rows = ArrayBuffer.empty[String]