Flink 1.13 内存模型及配置方法

概览

Since 1.10 TM 做了重大更新。
Since 1.11 JM 内存模型做了重大更新。

本文主要讲解 TM 内存模型。
官网链接 https://nightlies.apache.org/flink/flink-docs-release-1.14/docs/deployment/memory/mem_setup_tm/

Total process Memory

先理解一下官网的这张图
total process memory(tpm) = total flink memory(tfm) + jvm memory
tfm = JVM heap + Off-Heap Momory
Off-Heap Momory = Managed Memory + Driect Memory

配置 Flink 进程内存最简单的方法是指定以下两个配置项中的任意一个:

配置参数:
|-----------------------------------------------------------------------------------|
|配置项  	    |TaskManager 配置参数  	  			|JobManager 配置参数  			|
|Flink 总内存	|taskmanager.memory.flink.size		|jobmanager.memory.flink.size	|
|进程总内存		|taskmanager.memory.process.size	|jobmanager.memory.process.size	|
|-----------------------------------------------------------------------------------|

在这里插入图片描述

Detail & Config

//TODO 

在这里插入图片描述

JVM params

JVM 参数TaskManager 取值JobManager 取值
-Xmx 和 -Xms框架堆内存 + 任务堆内存JVM 堆内存 (*)
-XX:MaxDirectMemorySize(TaskManager 始终设置,JobManager 见注释)框架堆外内存 + 任务堆外内存(**) + 网络内存堆外内存 (**) (**)
-XX:MaxMetaspaceSizeJVM MetaspaceJVM Metaspace
(*) 请记住,根据所使用的 GC 算法,你可能无法使用到全部堆内存。一些 GC 算法会为它们自身分配一定量的堆内存。这会导致堆的指标返回一个不同的最大值。
(**) 请注意,堆外内存也包括了用户代码使用的本地内存(非直接内存)。
(***) 只有在 jobmanager.memory.enable-jvm-direct-memory-limit 设置为 true 时,JobManager 才会设置 JVM 直接内存限制。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值