1:垃圾回收
打印JVM运行日志输出
spark.executor.extraJavaOptions
=-XX:+PrintFlagsFianl
-XX:+PrintReferenceGC
-XLoggc:$JAVA_HOME/jvm.log
-XX:+PrintGCDetails
-XX:+PrintGCTimeStamps
-XX:+PrintAdaptiveSizePolicy
现在GC的详细信息可以在$JAVA_HOME/jvm.log 中打印出来。我们可以进一步的分析JVM的动作并应用相应的优化技术。
2:对象大小
2.1 避免使用封装对象和指针,数据结构,或者具有很多小对象的嵌套数据结构
2.2 使用数组对象或者数据结构中的基本数据类型。
2.3 避免使用字符串或者用户定义的对象,使用数值ID来代替对象。