如何调整在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中没有明确的堆内和堆外内存设置,我的问题的解决方案是什么?
答案 0 :(得分:0)
JVM大约每1分钟就会继续使用GC
由于你没有发布任何实际数据,只有你自己的数据分析,我不能肯定地说,但一般来说每分钟1个GC事件是完全正常的,甚至相当不错。所以不需要调整。