spark driver: Failed to allocate

异常

  1. spark driver 端包括: page allocation failure,

spark driver: Failed to allocate_第1张图片

分析:

由于 spark driver 开启 broadcast 后,应发 driver jvm 大小 从最小128m 向 设置最大内存申请, 但由于 存在cpu 内存脏数据,无法回收,尽管cpu内存资源显示是够的,但是没有高阶内存页,依旧会发生申请不到 cpu资源的情况

内存页详情显示:
spark driver: Failed to allocate_第2张图片

内存页详解:
● 检查系统缺乏高阶内存
#cat /proc/buddyinfo
Node 0, zone DMA 2 2 2 1 2 1 1 0 0 0 2
Node 0, zone DMA32 32995 4377 762 211 157 108 68 23 3 0 0
Node 0, zone Normal 127146 68215 1614 0 0 0 0 0 0 0 1

/proc/buddyinfo是linuxbuddy系统管理物理内存的debug信息。
在linux中使用buddy算法解决物理内存的外碎片问题,其把所有空闲的内存,以2的幂次方的形式,分成11个块链表,分别对应为1、2、4、8、16、32、64、128、256、512、1024个页块。
而Linux支持NUMA技术

你可能感兴趣的:(spark,amabri,hive,spark,java,大数据,分布式)