spark 参数调优6-Memory Management内存管理

本文深入探讨Spark内存管理,包括`spark.memory.fraction`和`spark.memory.storageFraction`等关键参数,解释它们如何影响执行内存和缓存,以及如何避免频繁GC和OOM。同时,讨论了堆外内存启用和GC策略,如`spark.memory.offHeap.enabled`、`spark.cleaner.periodicGC.interval`等,以提升Spark应用性能。
摘要由CSDN通过智能技术生成

spark参数调优系列 目录地址:

https://blog.csdn.net/zyzzxycj/article/details/81011540

 

⑥ Memory Management

spark.memory.fraction

执行内存和缓存内存(堆)占jvm总内存的比例,剩余的部分是spark留给用户存储内部源数据、数据结构、异常大的结果数据。

默认值0.6,调小会导致频繁gc,调大容易造成oom。

spark.memory.storageFraction

用于存储的内存在堆中的占比,默认0.5。调大会导致执行内存过小,执行数据落盘,影响效率;调小会导致缓存内存不够,缓存到磁盘上去,影响效率。

值得一提的是在spark中,执行内存和缓存内存公用java堆,当执行内存没有使用时,会动态分配给缓存内存使用,反之也是这样。如果执行内存不够用,可以将存储内存释放移动到磁盘上(最多释放不能超过本参数划分的比例),但存储内存不能把执行内存抢走。

spark.memory.offHeap.enabled

是否允许使用堆外内存来进行某些操作。默认false

spark.memory.offHeap.size

允许使用进行操作的堆外内存的大小,单位bytes 默认0

spark.memory.useLegacyModes</

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值