Flink資源調優(yōu)
1. 內存設置 1.1 TaskManager 內存模型 TaskManager的內存模型如下圖所示(1.10之后版本內存模型): Flink使用了堆上內存和堆外內存。 Flink 框架內存使用了堆外內存和堆外內存,不計入slot資源。 Task執行的內存使用了堆上內存和堆外內存。 網(wǎng)絡(luò )緩沖內存:網(wǎng)絡(luò )數據交換所使用的內存大小,如網(wǎng)絡(luò )數據交換緩沖區。 框架堆外內存、Task堆外內存、網(wǎng)絡(luò )緩沖內存都在堆外的直接內存里面。 管理內存:Flink堆外內存的管理,用于管理排序,hash表,緩沖中間結果以及RocksDb 狀態(tài)后端的本地內存。 JVM特有內存:JVM本身占用的內存,包括元數據和執行開(kāi)銷(xiāo)。 Flink 使用內存 = 框架堆內和堆外內存 + Task堆內和堆外內存 + 網(wǎng)絡(luò )緩沖內存 + 管理內存。 進(jìn)程內存 - Flink 內存 + JVM特有內存 1.1.1 JVM特有內存詳解 JVM特定內存: JVM本身使用的內存,包含JVM的metaspace和over-head JVM的metaspace:JVM 元空間。taskmanager.memory.jvm-meta-sp....