Spark2.1的内存管理机制及实现原理详解

查看数: 19796 | 评论数: 5 | 收藏 3
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2017-6-12 19:04

正文摘要:

本帖最后由 hero1122 于 2017-6-12 19:02 编辑 问题导读: 1.spark如何进行堆内内存规划? 2.spark如何进行堆外内存规划? 3.spark最初的静态内存空间的分配规则是什么? 4.spark的统一内存管理机制是什么? ...

回复

轩辕依梦Q 发表于 2018-6-22 10:46:39
wx_RYClUEop 发表于 2018-6-1 23:13
你好,请问,也就是我的设置如下spark-submit \
--executor-memory 20G
.....

如果你使用的是cache,那么只会用到内存,不会用到磁盘的
wx_RYClUEop 发表于 2018-6-1 23:13:27
本帖最后由 wx_RYClUEop 于 2018-6-1 23:14 编辑
hero1122 发表于 2017-6-26 17:46
堆内和堆外内存都是指的jdk的内存,是指的exector的jdk的heap空间啊;
第一个问题,我理解spark.memory. ...

你好,请问,也就是我的设置如下spark-submit \
--executor-memory 20G
.....


那么一个执行器堆内存和堆外内存加起来20G?

因为我现在碰到一个问题,我申请的资源总资源大致1T,50个executor,每个20G,然后做了cache操作,最后在spark web中storage查看,memory用了1.5T,disk用了1.4T,disk我可以理解,内存不够,就存在磁盘了,但是为什么memory大于1T,所以猜测是不是使用了堆外内存。但是如果堆內+堆外就是1T,那难道是spark web 显示错误?


谢谢解答。


hero1122 发表于 2017-6-26 17:46:52
SuperDove 发表于 2017-6-13 10:28
版主和各位网友们,
1.你们能确定spark.memory.storageFraction 这个参数确实是调的堆外内存的百分比大小 ...

堆内和堆外内存都是指的jdk的内存,是指的exector的jdk的heap空间啊;
第一个问题,我理解spark.memory.storageFraction是调整StorageMemory占用堆外内存的比例;


美丽天空 发表于 2017-6-13 10:52:04
感谢分享
SuperDove 发表于 2017-6-13 10:28:26
版主和各位网友们,
1.你们能确定spark.memory.storageFraction 这个参数确实是调的堆外内存的百分比大小么?大伙可以百度查一下这个参数,大部分都说的是吊证堆内内存的大小,不知道是不是我的理解有误。
2.堆外内存到底是在executor里还是executor外的?
关闭

推荐上一条 /2 下一条