Flink内存模型

Flink内存模型分析

JobManager内存模型

TaskManager内存模型

内存模型分析

Flink使用内存(Total Flink Memory)=框架堆内存+框架堆外内存+task堆内存+task堆外内存+网络缓冲内存+托管内存
进程内存(Total Process Memory)=Flink使用内存+JVM元空间+JVM执行开销

  1. 不建议同时设置进程总内存和 Flink总内存。这可能会造成内存配置冲突,从而导致部署失败。
  2. 通常情况下,不建议对框架堆内存和框架堆外内存进行调整。
  3. 如果只配置了进程总内存,则从进程总内存扣除JVM元空间和JVM执行开销,剩余内存作为Flink总内存
  4. 如果已经明确设置了任务堆内存和托管内存,建议不要再设置进程总内存或 Flink总内存,否则可能会造成内存配置冲突。
  5. 如果手动设置了托管内存,则使用其值,否则使用默认分配系数*Flink总内存
  6. 如果手动设置了网络缓冲内存,则使用其值,否则使用默认分配系数*Flink总内存
  7. 如果配置了Flink总内存,而没有配置Task堆上内存和托管内存,则从Flink总内存中划分网络缓冲内存和托管内存,剩下的作为Task内存。
  8. 在容器化部署模式(Containerized Deployment)下(Kubernetes 或 Yarn),建议配置进程总内存(taskmanager.memory.process.size 或者 jobmanager.memory.process.size)。 该配置参数用于指定分配给 Flink JVM 进程的总内存,也就是需要申请的容器大小。

关注gzh HEY DATA 一起交流更多。

posted @   dhf123  阅读(189)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示