Spark中executor.memory.overhead与OS预留1GB,哪个是堆外内存?
Spark堆外内存相关疑问解答
executor.memory.overhead属于堆外内存
它是Spark为Executor进程分配的专属堆外内存部分,完全归属于Off heap area(堆外内存区域),不受JVM垃圾回收机制管理,主要用于承载JVM自身的各类开销,比如JNI调用内存、直接内存、线程栈等。配置时可以设置固定值(如384MB),也可以按spark.executor.memory的比例(如0.07倍)来分配。留给OS的1GB不属于Spark范畴的堆外内存
这部分是为节点操作系统自身活动预留的内存资源,和Spark Executor的内存(包括堆内、堆外)没有关联,属于节点层面的系统资源预留,不属于Spark定义的堆外内存范畴。
内容的提问来源于stack exchange,提问作者Matthew
相关产品推荐
相关产品推荐

