2017-11-04 146 views
0

如何調整運行在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%。如何調整apache spark 1.5.0的內存設置?

我曾嘗試:

  1. spark.executor.extraJavaOptions = ' - XX:Xms50g -XX:Xmx50g -XX:PermSize =8克'

它不工作,雖然大量博客可確保此設置有效。

  • JAVA_OPTS在兩個spark-env.sh設置和火花default.conf
  • 它不與沒有明確在堆工作

    和spark 1.5.0中的堆內存設置,我的問題有哪些解決方案?謝謝!

    回答

    0

    JVM不斷GC大約每隔1分鐘

    既然你還沒有發佈任何實際的數據,只有你的數據自己分析,我不能肯定地說,但一般來講1 GC每分鐘事件是完全正常的,甚至相當好。所以不需要調整。