Spark GC 调优
来源:互联网 发布:网站域名备案注册证书 编辑:程序博客网 时间:2024/06/06 03:10
我们的Spark环境目前主要问题是数据量大后一些task的GC Time 特别长,多则几分钟,少则几十秒,实在不能忍受。参考databricks的Tuning Java Garbage Collection for Spark Applications对我们的环境优化后,效果比较明显。
选择垃圾收集器
如果分配给单个Executor的Heap足够大(我认为超过32G)时使用G1,否则使用Parallel。因为如果在Heap小于32G时使用G1,G1 region size默认小于16M,可能引发Humongous对象分配问题。
当然,使用G1可能也可能引起Executor异常退出,这时有两种解决方法:
1. 减少cores数量(就是减少当前Executor并行task的数量)
2. 增加老年代内存
测试验证
硬件环境:(64G+8cores+42T) * 4,用yarn管理,利用Spark SQL对124G,169个字段的数据用row_number函数除重,除重前1.6亿条,除重后1.5亿条:
当内存比较小,在测试时也遇到了databricks遇到的两个问题。我们之前使用CMS的,现在改为G1,由之前的34min降为23min,性能提升还是比较明显的。
参考文档:
http://www.oracle.com/webfolder/technetwork/tutorials/obe/java/G1GettingStarted/index.html
0 0
- Spark GC 调优
- Spark JVM调优 --GC
- GC overhead limit exceeded : Spark
- Spark GC调优笔记
- spark:GC overhead limt exceed
- spark-OutOfMemory:GC overhead limit exceeded 解决
- spark OutOfMemoryError (GC overhead limit exceeded)
- GC调优
- spark-thrift-server 执行spark-sql 的OOM GC异常.
- Java GC种类,并更换、调优GC
- Java GC 及HBase RegionServer GC调优
- 5. GC 调优(基础篇) - GC参考手册
- GC机制、收集器与GC调优
- GC调优在Spark应用中的实践
- GC调优在Spark应用中的实践
- GC调优在Spark应用中的实践
- spark出现GC overhead limit exceeded和java heap space
- spark出现GC overhead limit exceeded和java heap space
- 【ThinkingInJava】31、对pet进行计数(3)
- sql学习笔记(13)-----------sql函数总结
- 第11周 【项目1 - 存储班长信息的学生类】
- 【ThinkingInJava】32、递归计数
- iptables详解
- Spark GC 调优
- C++ 在window8下使用第三方插件出现 Unable to register this add-in because its DllRegisterServer returns an error
- 笔记本搜索不到对应的无线网络的问题
- 人脸识别国内外现状及发展
- 易语言个人见解
- springMVC框架下JQuery传递并解析Json数据
- unix环境高级编程编译方法 -apue最简单编译方法(第二版)
- 苹果开发 笔记(24)
- 【ThinkingInJava】33、动态代理机制