Flink资源调优
1. 内存设置 1.1 TaskManager 内存模型 TaskManager的内存模型如下图所示(1.10之后版本内存模型): Flink使用了堆上内存和堆外内存。 Flink 框架内存使用了堆外内存和堆外内存,不计入slot资源。 Task执行的内存使用了堆上内存和堆外内存。 网络缓冲内存:网络数据交换所使用的内存大小,如网络数据交换缓冲区。 框架堆外内存、Task堆外内存、网络缓冲内存都在堆外的直接内存里面。 管理内存:Flink堆外内存的管理,用于管理排序,hash表,缓冲中间结果以及RocksDb 状态后端的本地内存。 JVM特有内存:JVM本身占用的内存,包括元数据和执行开销。 Flink 使用内存 = 框架堆内和堆外内存 + Task堆内和堆外内存 + 网络缓冲内存 + 管理内存。 进程内存 - Flink 内存 + JVM特有内存 1.1.1 JVM特有内存详解 JVM特定内存: JVM本身使用的内存,包含JVM的metaspace和over-head JVM的metaspace:JVM 元空间。taskmanager.memory.jvm-meta-sp....