【云星数据---Apache Flink实战系列(精品版)】:Apache Flink高级特性与高级应用002-Flink的内存管理002

二、flink的内存管理机制

0.flink的内存划分

这里写图片描述

1.flink在JVM的heap内有自己的内存管理空间。
2.在flink中内存被分为三个部分,分别是Unmanaged区域,Managed区域,Network-Buffer区域
3.Unmanaged区域是指flink不管理这部分区域,它的管理由JVM管理,用于存放User Code
4.Managed区域是指flink管理这部分区域,它不受jvm管理不存在GC问题,用于存放Hashing,Sorting,Caching等数据
5.Network-Buffer区域是指flink在进行计算时需要通过网络进行交换数据的区域。用于存放Shuffles,Broadcasts数据。

1.flink使用堆外内存

这里写图片描述

1.为了解决大量对象在JVM的heap上创建会带来OOM和GC的问题,flink将大量使用的内存存放到堆外.
2.flink在堆外有一块预分配的固定大小的内存块MemorySegment,flink会将对象高效的序列化到这块内存中。
  MemorySegment由许多小的内存cell组成,每个cell大小32kb,这也是flink分配内存的最小单位。你可以把 
  MemorySegment想象成是为Flink 定制的 java.nio.ByteBuffer。它的底层可以是一个普通的 Java
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值