当我在Spark configuration中搜索堆外时,有两个相关的属性(spark.executor.memoryOverhead
和spark.memory.offHeap.size
),我不确定这两个属性之间的关系。
如果我启用了spark.memory.offHeap.enabled
,spark.memory.offHeap.size
会成为spark.executor.memoryOverhead
的一部分吗?或者这两种类型的堆外内存是独立的(因此总的堆外内存就是这两种内存的总和)
发布于 2020-05-11 14:41:13
在这里查看我的完整答案:https://stackoverflow.com/a/61723456/6470969
简而言之:从当前的Spark版本(2.4.5)开始,如果您指定spark.memory.offHeap.size
,您也应该将这部分添加到spark.executor.memoryOverhead
中。例如,你设置spark.memory.offHeap.size
为500M,你有spark.executor.memory=2G
,那么默认的spark.executor.memoryOverhead
是max(2*0.1, 384)=384M
,但是你最好把memoryOverhead
增加到384M+500M=884M
。
https://stackoverflow.com/questions/61263618
复制相似问题