flink run -d -m yarn-cluster -yjm 512 -ytm 5028
-yD jobmanager.memory.off-heap.size=64m
-yD jobmanager.memory.jvm-metaspace.size=128m
-yD jobmanager.memory.jvm-overhead.min=64m
-yD taskmanager.memory.jvm-metaspace.size=128m
-yD taskmanager.memory.jvm-overhead.max=192m
-yD taskmanager.memory.network.max=128m
-yD taskmanager.memory.managed.size=64m -c com.xxx.xxx ./xxx.jar
参数设置:
那么如果设置了 -yjm 1024 ,JobManager的JVM的堆内存大小是多少呢?
首先,在没有显示的设置其它内存的情况下,所有的内存组成部分都用默认值
通过观察启动日志也可以发现:JVM Overhead的大小为448mb
有点时候,我们会希望运用到JVM Head的内存更多一点,那么就可以尝试着把其它的部分调低,来给到JVM Head更多的内存。
参数设置:
那么如果设置了 -ytm 1024 、Managed Memory 为100mb,TaskManager的JVM的堆内存大小是多少呢?
首先,在没有显示的设置其它内存的情况下,所有的内存组成部分都用默认值
在启动日志中也能够看得到:
在设置内存的时候 如果托管内存(Managed Memory)用不到的话,可以设置为0,以至于能将更多的内存用于JVM Head内存上。
taskmanager的数量 = p / ys + 1 jobmanager的数量 = 1 消耗的container的数量 = TaskManager的数量+1,+1是因为还有JobManager这个进程。 消耗的vcore的数量 = TaskManager的数量 * solt + 1,+1理由同上 消耗的yarn内存数 = jobmanager的数量 * yjm + taskmanager的数量 * ytm