Spark部分:Spark的静态内存管理和统一内存管理【图片+文字说明】
内存管理
Spark1.6之前使用的是静态内存管理,spark1.6之后使用的是统一内存管理
静态内存管理:
0.2:task运行
0.2:
0.2*0.2:预留
0.2*0.8:shuffle聚合内存
0.6:
0.1*0.6:预留
0.9*0.6:
0.6*0.9*0.2:反序列化数据
0.6*0.9*0.8:RDD缓存和广播变量
统一内存管理:
300M预留
(总-300M)*0.25:task运行
(总-300M)*0.75:
(总-300M)*0.75*0.5:shuffle聚合内存
(总-300M)*0.75*0.5:RDD缓存和广播变量