Flink-on-yarn模式下TaskManager内存分配及计算公式

在flink-on-yarn模式下,基于flink1.10版本,如何计算flink jvm-heap内存。

先来张官网 flink-on-yarn的内存分布图:

内存主要分为:整个container内存、flink内存。其中内存类型又分为堆内存和堆外内存。

内存类型主要分为:

1.、JVM Metaspace :默认256M;

2、JVM Overhead内存:默认整个container内存的0.1;

最大值为1G,最小值为192M,如果计算出来的内存大小不在此区间范围内,按照最小值/最大值 分配;例如计算的结果为128M,实际按照192M分配;计算结果为1.2G,实际按照1G分配;

3、Flink Memory = Totoal Memory - JVM Metaspace - JVM Overhead

4、Total Memory :flink job 启动时,按照参数: -ytm 6144  指定的内存大小(单位M)。如果不指定,按照yarn最小Container分配的内存大小。

  <property>
    <name>yarn.scheduler.minimum-allocation-mb</name>
    <value>2048</value>
  </property>

5、Network = Flink Memory *0.1(默认值)

6、Managed Memory = Flink Memory * 0.4(默认值)

7、Task off-heap 默认为0;

8、framework off-heap :默认为128M

 

如下图:flink-on-yarn 启动时分配的内存为6144M(参数均使用默认值)

Flink Managed Memory = (6144M * 0.9 -256M) *0.4 = 2.06G

JVM(heap/Non-heap) = (6144M * 0.9 -256M)* 0.5 -128 M = 2.45G (约为2509M)

登陆主机查看 JVM GC信息如下:

整个新生代、老年代和持久代 分配的内存为2510M。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

chensonga

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值