【发布时间】:2017-11-04 04:30:40
【问题描述】:
如何调整在 spark 1.5.0 上运行的应用程序的堆内和堆外内存?通过使用-XX+PrintGCDetails -XX:+PrintGCTimeStamps,我注意到在从文件$SPARK_HOME/work/application_id/stdout 检索到的GC 报告中,JVM 大约每1 分钟进行一次GC。尽管通过--executor-memory 50g 选项和各种--conf spark.storage.memoryFranction 值分配了50g 执行器内存,但PSYoungGen 区域始终占据(PSYoungGen+ParOldGen)的30%。 PSPermGen 的值始终保持在 54,272KB 左右,使用率为 99%。
我尝试过的:
spark.executor.extraJavaOptions='-XX:Xms50g -XX:Xmx50g -XX:PermSize=8g'不起作用,尽管大量博客确保此设置有效。spark-env.sh和spark-default.conf中的 JAVA_OPTS 设置不起作用
在 spark 1.5.0 中没有明确的堆内和堆外内存设置,我的问题的解决方案是什么?
【问题讨论】:
标签: apache-spark memory garbage-collection jvm