Flink内存整体结构图:
JobManager内存管理
- JVM 进程总内存(Total Process Memory)
- Flink总内存(Total Flink Memory):JVM进程总内存减去JVM Metaspace(元空间)和JVM Overhead(运行时开销)
- 上图解释:
- JVM进程总内存为2G;
- JVM运行时开销(JVM Overhead) 占 进程总内存的 10% 但最多 1G(图中是205M);
- 元空间(JVM Metaspace)占 256M;
- 堆外内存(Off-Heap Memory) 占 128M;
- 堆内存为(图中是1.42 GB);
TaskManager内存管理
- JVM 进程总内存(Total Process Memory)
- Flink总内存(Total Flink Memory):JVM进程总内存减去JVM Metaspace(元空间)和JVM Overhead(运行时开销)
- 上图解释:
- JVM进程总内存为3G;
- JVM运行时开销(JVM Overhead) 占 进程总内存的 10% 但最多 1G(图中是307M);
- 元空间(JVM Metaspace)占 256M;
- 堆外直接(Direct)内存网络缓存占 Flink 总内存 的 10% 但最多 1G(图中是251M);
- 框架堆和框架堆外各占 128M,堆外管控(Managed)内存占 Flink 总内存 的 40%(图中是0.98G);
- 其他空间留给任务堆(Task Heap),即用户程序代码可以使用的内存空间(图中是998M);