温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何分析spark内存调优的配置

发布时间:2021-12-16 20:56:24 来源:亿速云 阅读:93 作者:柒染 栏目:大数据

如何分析spark内存调优的配置,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

为啥不直接设置:spark.memory.storageFraction以减少存储内存的占比。

大家可以思考一下,减少spark.memory.storageFraction,可行吗?

明显是不太可行的,这个是没有理解这两个参数的含义。

要知道spark的大部分内存分为执行内存和存储内存。他们共享一个存储空间M。同时,存储内存在执行内存空闲的时候可以占用执行内存空间,执行内存也可以在存储内存大于一个阈值R的时候占用存储内存。R代表缓存不可被清除的最小存储内存。

M和R的计算如下:

1),spark.memory.fraction将M的大小表示为(JVM堆空间 - 300MB)的一部分(默认为0.75,新版本如spark2.2改为0.6)。剩余的空间(25%,对应的新版本是0.4)用于用户数据结构,Spark中的内部元数据,并且在稀疏和异常大的记录的情况下保护OOM错误。2),spark.memory.storageFraction表示R的大小作为M的一部分(默认为0.5)。R是M内的存储空间,其中缓存的块免于被执行器驱逐。

然后就会明白,假如我们单纯的减少spark.memory.storageFraction是行不通的,因为存储内存可以占用执行内存进行缓存,缓解不了老年代被吃满的状况,所以只能调整spark.memory.fraction。

1.当然,除了这样,还可以减少年轻代大小,前提是不影响性能。

2.spark最骚的操作是,没有加内存解决不了的问题,假如有那是没加够。

看完上述内容,你们掌握如何分析spark内存调优的配置的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI