[ 笔记列表 ]
所属分类:Flink
标题:Flink 内存模型
浏览:112
内容:
Memory Model内存模型图 基本概念: JVM Heap JVM堆内存 JVM Off-Heap JVM堆外内存 Direct Memory 直接内存 1、Total Process Memory 整个TaskManager进程的内存 配置 taskmanager.memory.process.size: xxxm,默认为1728m 1.1、Total Flink Memory 属于Flink的内存 配置 taskmanager.memory.flink.size: xxxm,没有默认值 1.1.1、JVM Heap 1.1.1.1、Framework Heap TaskManager框架自己所以的Heap内存,不用于执行task 配置 taskmanager.memory.framework.heap.size: xxxm,默认为128m 1.1.1.2、Task Heap 执行task所需的Heap内存 配置 taskmanager.memory.task.heap.size: xxxm,默认等于 Total Flink Memory – Framework Heap – Managed Memory – Direct Memory 1.1.2、Managed Memory 属于Off Heap内存,主要用于排序、哈希表、中间结果缓存、RocksDB的backend 配置 taskmanager.memory.managed.size: xxxm,没有默认值 配置 taskmanager.memory.managed.fraction: 0.xx,默认为0.4,即Total Flink Memory的40%
1.1.3、Direct Memory 1.1.3.1、Framework Off-Heap taskManager保留的Off-Heap内存,不会分配给任何slot 配置 taskmanager.memory.framework.off-heap.size: xxxm,默认为128m,不建议修改 1.1.3.2、Task Off-Heap 用于Flink代码中调用Native方法 配置 taskmanager.memory.task.off-heap.size: xxxm,默认为0m
1.1.3.3、Network Task与Task之间进行数据Shuffle时的缓存内存 配置 taskmanager.memory.network.min: xxxm,默认为64m 配置 taskmanager.memory.network.max: xxxm,默认为1g 配置 taskmanager.memory.network.fraction: 0.xx,默认为0.1 1.2、JVM Metaspace 属于Off Heap内存,主要储存类的元数据 配置 taskmanager.memory.jvm-metaspace.size: xxxm,默认为256m
1.3、JVM Overhead 属于Off Heap内存,保留给JVM其他的内存开销 配置 taskmanager.memory.jvm-overhead.min: xxxm,默认为192m 配置 taskmanager.memory.jvm-overhead.max: xxxm,默认为1g 配置 taskmanager.memory.jvm-overhead.fraction: 0.xx,默认为0.1
链接:
|