spark性能调优:内存

Posted 我爱夜来香A

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spark性能调优:内存相关的知识,希望对你有一定的参考价值。

Memory

一、spark内存简介

spark 2.0后,基本上spark内存的管理就已经自动化了,内存出现问题基本上是一些数据问题。比如数据倾斜

  • spark.executor.memory是绝对值,指定了executor进程的JVM Heap总大小
  • spark.memory.fraction是比例值,标记spark处理分布式数据集的内存总大小
  • spark.memory.storageFraction(默认0.5)也是比例值,进一步划分Execution
    Memory和Storage Memory的大小
  • Storage Memory:用于缓存数据,当一个RDD被引用多次时,就可以考虑对其进行Cache,从而提升作业的执行效率
  • Execution Memory:用于缓存在执行shuffle过程中产生的中间数据
  • User Memory: 用户自定义的数据结构或Spark内部元数据
  • Reserved Memory:预留内存,固定300M

二、堆内内存 or 堆外内存?

在管理方式上,spark会分为堆内内存(On-Heap Memory)和堆外内存(Off-Heap

以上是关于spark性能调优:内存的主要内容,如果未能解决你的问题,请参考以下文章

Spark性能调优篇七之JVM相关参数调整

[Spark性能调优] 第四章 : Spark Shuffle 中 JVM 内存使用及配置内幕详情

Spark性能调优之JVM调优

GC调优在Spark应用中的实践(转载)

GC调优在Spark应用中的实践[转]

[大数据性能调优] 第一章:性能调优的本质Spark资源使用原理和调优要点分析