如何调整apache spark 1.5.0的内存设置?

时间:2017-11-04 04:30:41

标签: apache-spark memory garbage-collection jvm

如何调整在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%。

我尝试过:

  1. spark.executor.extraJavaOptions='-XX:Xms50g -XX:Xmx50g -XX:PermSize=8g'不起作用,但大量博客可确保此设置有效。

  2. spark-env.shspark-default.conf中的JAVA_OPTS设置不起作用

  3. 在spark 1.5.0中没有明确的堆内和堆外内存设置,我的问题的解决方案是什么?

1 个答案:

答案 0 :(得分:0)

  

JVM大约每1分钟就会继续使用GC

由于你没有发布任何实际数据,只有你自己的数据分析,我不能肯定地说,但一般来说每分钟1个GC事件是完全正常的,甚至相当不错。所以不需要调整。