Flink内存解释

一、JobManager内存

JobManager 是 Flink 集群的控制单元。 它由三种不同的组件组成:ResourceManager、Dispatcher 和每个正在运行作业的 JobMaster。

配置 JobManager 内存最简单的方法就是进程的配置总内存。 本地执行模式下不需要为 JobManager 进行内存配置,配置参数将不会生效。

  组成部分     配置参数     描述  
JVM 堆内存 jobmanager.memory.heap.size     JobManager 的 JVM 堆内存
堆外内存 jobmanager.memory.off-heap.size     JobManager 的堆外内存(直接内存或本地内存)
JVM Metaspace jobmanager.memory.jvm-metaspace.size     Flink JVM 进程的 Metaspace
JVM 开销 jobmanager.memory.jvm-overhead.min
jobmanager.memory.jvm-overhead.max
jobmanager.memory.jvm-overhead.fraction
用于其他 JVM 开销的本地内存,例如栈空间、垃圾回收空间等。该内存部分为基于进程总内存的受限的等比内存部分

注:如果已经明确设置了 JVM 堆内存,建议不要再设置进程总内存或 Flink 总内存,否则可能会造成内存配置冲突。

 

二、配置 TaskManager 内存

Flink JVM 进程的进程总内存(Total Process Memory)*包含了

  (1)Flink 应用使用的内存(Flink 总内存)

      JVM 堆内存(Heap Memory)

      托管内存(Managed Memory)

      其他直接内存(Direct Memory)

      本地内存(Native Memory)

  (2)运行 Flink 的 JVM 使用的内存

 

posted @ 2022-09-09 17:22  黑水滴  阅读(162)  评论(0编辑  收藏  举报