当我在yarn上运行spark应用程序时,使用驱动程序和执行器内存设置
--driver-memory 4G --executor-memory 2G
,然后运行应用程序时,会抛出异常,指出容器因超过内存限制而被YARN终止。已使用2.5GB的2.5GB物理内存。请考虑提高spark.yarn.executor.memoryOverhead。
这里的2.5GB是什么意思?(超额内存、执行器内存或超额+执行器内存?)我之所以问是因为当我将内存设置更改为:--driver-memory 4G --executor-memory 4G --conf --driver-memory 4G --conf spark.yarn.executor.memoryOverhead=2048
时,异常就消失了。我想问的是,虽然我已经将超额内存提高到2G,但它仍然低于2.5G,为什么现在可以工作了?