摘要:Spark立足内存计算,常常需要在内存中存放大量数据,因此也更依赖JVM的垃圾回收机制。与此同时,它也兼容批处理和流式处理,对于程序吞吐量和延迟都有较高要求,因此GC参数的调优在Spark应用实践中显得尤为重要。

Spark是时下非常热门的大数据计算框架,以其卓越的性能优势、独特的架构、易用的用户接口和丰富的分析计算库,正在工业界获得越来越广泛的应用。与Hadoop、HBase生态圈的众多项目一样,Spark的运行离不开JVM的支持。由于Spark立足于内存计算,常常需要在内存中存放大量数据,因此也更依赖JVM的垃圾回收机制(GC)。并且同时,它也支持兼容批处理和流式处理,对于程序吞吐量和延迟都有较高要求,因此GC参数的调优在Spark应用实践中显得尤为重要。本文主要讲述如何针对Spark应用程序配置JVM的垃圾回收器,并从实际案例出发,剖析如何进行GC调优,进一步提升Spark应用的性能。

问题介绍

随着Spark在工业界得到广泛使用,Spark应用稳定性以及性能调优问题不可避免地引起了用户的关注。由于Spark的特色在于内存计算,我们在部署Spark集群时,动辄使用超过100GB的内存作为Heap空间,这在传统的Java应用中是比较少见的。在广泛的合作过程中&#x

GC调优在Spark应用中的实践相关推荐

  1. 一张PDF了解JDK10 GC调优秘籍-附PDF下载

    文章目录 简介 Java参数类型 Large Pages JIT调优 总结 简介 今天我们讲讲JDK10中的JVM GC调优参数,JDK10中JVM的参数总共有1957个,其中正式的参数有658个. ...

  2. 一张PDF了解JDK9 GC调优秘籍-附PDF下载

    文章目录 简介 Oracle中的文档 JDK9中JVM参数的变化 废弃的JVM选项 不推荐(Deprecated)的JVM选项 被删除的JVM参数 JDK9的新特性Application Class ...

  3. 大数据技术之_19_Spark学习_07_Spark 性能调优 + 数据倾斜调优 + 运行资源调优 + 程序开发调优 + Shuffle 调优 + GC 调优 + Spark 企业应用案例

    大数据技术之_19_Spark学习_07 第1章 Spark 性能优化 1.1 调优基本原则 1.1.1 基本概念和原则 1.1.2 性能监控方式 1.1.3 调优要点 1.2 数据倾斜优化 1.2. ...

  4. Spark 中 JVM 内存使用及配置详情、spark报错与调优、Spark内存溢出OOM异常

    一般在我们开发spark程序的时候,从代码开发到上线以及后期的维护中,在整个过程中都需要涉及到调优的问题,即一开始需要考虑如何把代码写的更简洁高效调优(即代码优化),待开发测试完成后,提交任务时综合考 ...

  5. Java9中的GC 调优

    垃圾收集器与内存分配策略参考目录: 1.判断Java 对象是否死亡 2.Java 中的四种引用 3.垃圾收集算法 4.内存分配与回收策略 在经过了几次跳票之后,Java 9终于在原计划日期的整整一年之 ...

  6. Java 9 中的 GC 调优基础

    转载自   Java 9 中的 GC 调优基础 在经过了几次跳票之后,Java 9终于在原计划日期的整整一年之后发布了正式版.Java 9引入了很多新的特性,除了闪瞎眼的Module System和R ...

  7. HBase之CMS GC调优

    HBase发展到现在,各种优化从未停止,GC优化更是重中之重,比如0.94版本提出的MemStoreLAB,MemStore Chunk Pool策略对写缓存MemStore进行优化开始,到0.96版 ...

  8. 为什么Java有GC调优而没听说过有CLR的GC调优?

    前言 在很多的场合我都遇到过一些群友提这样的一些问题: 为什么Java有GC调优而CLR没有听说过有GC调优呢? 到底是Java的JVM GC比较强还是C#使用的.NET CLR的GC比较强呢? 其实 ...

  9. 关于CLR GC调优的一些问题

    前言 在很多的场合我都遇到过一些群友提这样的一些问题: 为什么Java有GC调优而CLR没有听说过有GC调优呢? 到底是Java的JVM GC比较强还是C#使用的.NET CLR的GC比较强呢?其实业 ...

最新文章

  1. 【调试基础】Part 3 Window操作系统
  2. Python [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed 解决方法
  3. spring websocket源码分析
  4. SAP中凭证类型的作用
  5. Delphi中的各种路径
  6. LHF Objective-C语法(7)id类型、动态判断与选择器
  7. 到底有多二 (15 分)
  8. Servlet-Session
  9. 最新最全的 SQL 入门教程,老少皆宜,强烈推荐!
  10. Hadoop数字统计
  11. 自媒体爆文标题怎么写?6种实用小技巧分享!
  12. 线性时不变因果系统的判断方法
  13. uni-app的介绍
  14. C# 克隆(Clone)中的深拷贝和浅拷贝
  15. cpp c++编写代码块 有颜色 好看些
  16. 三张图看微软业务:Office是最大收入来源
  17. 指针难点——数组指针、指针数组、函数指针、指针函数详解
  18. 如何从零开始系统化学习视觉SLAM?
  19. Keil5使用第一步
  20. 收银系统显示选择服务器,选择收银系统这几点需要提前知道?

热门文章

  1. 一代人的记忆!又一波微信表情默默消失了
  2. 苹果收购人工智能初创公司Voysis以改善语音助手Siri功能
  3. 维权靠微博?用户京东金融账户被盗刷15万 处理未果怒发微博曝光
  4. 魅族16s Pro最新预热海报公布:将配备双扬声器
  5. 力压华为小米!安兔兔1月安卓性能榜第一名是它!
  6. 支付宝五福又来了,但已没人关心抢红包
  7. Linux的shell编程(三)
  8. python+appium自动化测试-重复执行测试用例
  9. yum安装 vs 源码编译安装
  10. oracle join过滤数据,oracle join on 数据过滤问题