TaskManager内存模型
内存管理器作用
我们有一块内存叫做管理内存. 内存管理器就是用来管理这块内存的.你设计的这块内存是不是得有人来操作维护的呀? 就是内存管理器维护管理内存的.
Flink 1.10 对TaskManager的内存模型和Flink应用程序的配置选项进行了重大更改,让用户能够更加严格地控制其内存开销。
1.10之前版本,负责TaskManager所有内存。
1.10版本开始,管理范围是Slot级别。
堆外内存资源申请
MemoryManager.java
1 | public void allocatePages( |
MemorySegmentFactory.java
1 | public static MemorySegment allocateOffHeapUnsafeMemory(int size, Object owner, Runnable customCleanupAction) { |
RocksDB自己负责内存申请和释放
RocksDBOperationUtils.java
1 | public static OpaqueMemoryResource<RocksDBSharedResources> allocateSharedCachesIfConfigured( |
MemoryManager.java
1 | public <T extends AutoCloseable> OpaqueMemoryResource<T> getExternalSharedMemoryResource( |
- 本文作者: xubatian
- 本文链接: http://xubatian.cn/Flink内存管理-内存管理器/
- 版权声明: 本博客所有文章除特别声明外均为原创,采用 CC BY 4.0 CN协议 许可协议。转载请注明出处:https://www.xubatian.cn/