java.lang.OutOfMemory:Spark-submit 中的 Java 堆空间错误



我正在使用 Spark-submit 和定义的 JVM 参数运行 Spark 应用程序。使用这组参数,我得到java堆空间错误:

EXTRA_JVM_FLAGS="-server -XX:+UseG1GC
-XX:ReservedCodeCacheSize=384m
-XX:MaxDirectMemorySize=2G
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005
--master "local[4]"
--driver-memory 2G
--driver-java-options "${EXTRA_JVM_FLAGS}" 

我试图增加驱动程序内存,但它导致 JVM 崩溃。另外,我试图增加最大直接内存大小,但这没有任何帮助。我应该更改哪些选项来修复堆空间错误?

您应该尝试最基本的选项-Xmx- 这是最大堆空间大小。 代码缓存和直接内存大小是本机内存区域,不会影响堆的大小。 默认情况下,JVM 分配 1/4 的可用 RAM 作为最大堆大小。如果机器非常安全地专用于一个 JVM 进程,您可以增加它。

最新更新