我们通过Flink的执行UI界面可以看到两个参数 :JVM Heap Size 和Flink Managed Memory两个内存,那我们来看一下是如何算的。

JVM Heap Size:也是实际我们Task Manager实际可用的内存。

那我们先算出TM可以用的总内存,包括堆内和堆外内存以我们本次测试程序为例:

TM总内存:total-taskManager-memory= 1536 - max[600, 4096 * 0.25] = 936M

total-taskManager-memory =JVM Heap Size + Flink Managed Memory : 936= 499 + 476 

网络缓存内存:network_buffer_memory = min[1024, max(128, 936 * 0.15)] = 140.4M

JVM Heap Size =(total-taskManager-memory - network_buffer_memory) * 0.6 = (936  -140.4)* 0.6 = 477.36 约等于 476 JVM Heap Size

Logo

大数据从业者之家,一起探索大数据的无限可能!

更多推荐