??????? flink的內(nèi)存模型和其他流式計(jì)算框架的內(nèi)存模型有所不同。為了減少OOM的發(fā)生衅谷,flink提供了一種off-heap模式充分利用了direct內(nèi)存的優(yōu)勢(shì),在提高吞吐的同時(shí)減少內(nèi)存資源的消耗似将。
????? flink的內(nèi)存組成:
???? 1. JVM momery
??????? 通過(guò)參數(shù):yarn.heap-cutoff-ratio或是containerized設(shè)置获黔,
???? ?? 默認(rèn)是0.25,最小值:600M
??????? 用途:用于其他JVM的內(nèi)存消耗
??? 2. NetWork buffer momery
????? 用于網(wǎng)絡(luò)的IO的內(nèi)存在验,默認(rèn)是0.1玷氏,
????? 默認(rèn)最小值:64M,最大值:1GB
????? 用途:主要是各個(gè)Vertext之間數(shù)據(jù)交換和網(wǎng)絡(luò)IO使用
3.? free Heap和 off-heap momery
比例是使用:taskmanager.memory.fraction參數(shù)設(shè)置
用途:
(1)heap用于用戶(hù)在編寫(xiě)算子中創(chuàng)建的對(duì)象
(2)off-heap 用于計(jì)算的中間結(jié)果的緩存,以及sort/join/shuffle等,使用Memory Manager Pool進(jìn)行管理