Flink内存模型

最新内存模型

flink1.10对内存使用进行了调整,模型划分更详细,但使初学者感觉更复杂了,从下图taskmanager内存模型可以看出一般。

 

flink内存按功能模块可分为taskmanager与jobmanger, 其中jobmanger不承担计算任务,所以相对简单无需过多讨论。

细分内存模型后,flink提供了大量参数来设置对应区块的大小,如下:

参数非常多,容易让人混乱,所以flink也提供了一个非常简单的内存设置方法,即只需设置进程总内存即可,进程总内存包括了flink在运行时需要的所有内存,包括堆内堆外内存等,例如当在k8s容器内运行时,该值就是容器申请到的内存大小,flink会按一定比例对总内存进行细分,当taskmanger,process.size=4G时,默认细分结果如下:

模型详细说明

通常情况下我们只需要设置进程总内存即可:taskmanager.memory.process.size/jobmanager.memory.process.size。

以taskmanager为例,进程总内存包括三部分:flink总内存(Total Flink Memory)+ 运行时JVM使用的内存(JVM Overhead + JVM metaspace)。

flink总内存包括flink使用到的堆内存(heap memory)与堆外内存(off-heap memory)。

flink使用到的堆内存包括flink框架本身用到的堆(framework memory)与flink任务使用到的堆(task memory).

flink使用到的堆外内存包括: 排序等用到的堆外内存(managed memory), 其它堆外内存(direct memory),其它堆外内存包括task、framework额外用到的堆外内存,以及network用到的堆外内存。

关注个人微信公众号:肌肉码农,回复“好友”讨论问题

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值