Flink内存模型

flink官网上 的内存分布图如下:

1、processMemory

是分配的总大小,比如yarn分配的container的总大小。

2、framework memory与 task memory

framework不属于slot内存,而task是slot内的使用的内存

heap memory内存主要是java对象和stateBackend内存

 

framework heap memory+task heap memory=jvm堆内存总大小(-Xmx)

framework off-heap memory+task off-heap memory=分配的堆外直接内存大小(-XX:MaxDirectMemorySize)

3、network memory(使用的是直接内存)

用于数据的传输,同一个taskExecutor的各个slot之间没有隔离

network memory的大小是由作业的拓扑决定的,不足会导致运行失败。

4、managed memory(native memory)

用于RocksDBStateBackend,Batch Operator,各个slot之间是相互隔离的

如果使用的是heapstatebackend或者没有状态,此时可以设置managed memory的内存为0

 

 

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值