精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Spark 靜態內存管理詳解

存儲 存儲軟件 Spark
spark從1.6開始引入了動態內存管理模式,即執行內存和存儲內存之間可以互相搶占。spark提供兩種內存分配模式:靜態內存管理和動態內存管理。

 一.內容簡介

spark從1.6開始引入了動態內存管理模式,即執行內存和存儲內存之間可以互相搶占。spark提供兩種內存分配模式:靜態內存管理和動態內存管理。本系列文章分別對這兩種內存管理模式的優缺點以及設計原理進行了分析。主要針對spark1.6靜態內存管理進行了分析與說明。

[[252832]]

二.內存空間分配

在 Spark 最初采用的靜態內存管理機制下,存儲內存、執行內存和其他內存的大小在 Spark 應用程序運行期間均為固定的,但用戶可以應用程序啟動前進行配置,堆內內存的分配如下圖所示:

 

默認情況下,spark內存管理采用unified模式,如果要開啟靜態內存管理模式。將Spark.memory.useLegacyMode參數調為true(默認為false)。官網相關配置如下:

 

當調整該參數以后,從SparkEnv.scala中可知,如果為true,內存管理調用靜態內存類(StaticMemoryManager)。反之,內存管理采用統一內存管理類(UnifiedMemoryManager)。

 

三.Execution 內存

可用的Execution內存

用于shuffle聚合內存,取決于joins,sorts,aggregations等過程中頻繁的IO需要的Buffer臨時數據存儲。

簡單來說,spark在shuffle write的過程中,每個executor會將數據寫到該executor的物理磁盤上,下一個stage的task會去上一個stage拉取其需要處理的數據,并且是邊拉取邊進行處理的(和MapReduce的拉取合并數據基本一樣),這個時候會用一個aggregate的數據結構,比如hashmap邊拉取數據邊進行聚合。這部分內存就被稱做execution內存。

從getMaxExecutironMemory方法可知,每個executor分配給execution的內存為:Execution Memory = systemMaxMemory *memoryFraction(默認0.2) * safetyFraction(默認0.8), 默認為 executor ***可用內存 * 0.16。

 

Execution內存在運行時會被分配給運行在JVM上的task。這里不同的是,分配給每個task的內存并不是固定的,而是動態的。spark不是一上來就分配固定大小的內存塊給task,而是允許一個task占據JVM所有execution內存。

每個JVM上的task可以最多申請至多1/N的execution內存(N為active task的個數,由spark.executor.cores指定)。如果task的申請沒有被批準,它會釋放一部分內存,并且下次申請的時候,它會申請更小的一部分內存。

注意:為了防止過多的spilling(evict)數據,只有當一個task分配到的內存達到execution內存1/(2N)的時候才會spill, 如果目前空閑的內存達不到1/(2N)的時候, 內存申請會被阻塞直到其他的taskspill掉它們的內存。如果不這樣限制,假設當前有一個任務占據了絕大部分內存,那么新來的task會一直往硬盤spill數據,這樣就會導致比較嚴重的I/O問題。

舉個例子, 某executor先啟動一個task A,并在task B啟動前快速占用了所有可用內存。(B啟動后)N變成2,task B會阻塞直到task A spill,自己可獲得1/(2N)=1/4的execution內存。而一旦task B獲取到了1/4的內存,A和B就都有可能spill了。

預留內存

Spark之所以有一個SafetyFraction這樣的參數,是為了避免潛在的OOM。例如,進行計算時,有一個提前未預料到的比較大的數據,會導致計算時間延長甚至OOM, safetyFraction為storage和execution 都提供了額外的buffer以防止此類的數據傾斜。這部分內存叫做預留內存。

四.Storage內存

可用的Storage內存

該部分內存用作對RDD的緩存(如調用cache,persist等方法),節點間傳輸的廣播變量。

從StaticMemoryManager的單例對象中可知,***為每個executor分配到的關于storage的內存:

StorageMemory=systemMaxMemory*storageMemoryFraction(默認0.6)*safetyFraction(默認為0.9)=0.54,

也就是說 默認分配executor ***可用內存的 *0.54。源碼如下:

 

預留內存

同Execution內存中的預留部分。

Unroll

unroll是storage中比較特殊的一部分,它默認占據總內存的20%。

BlockManager是spark自己實現的內部分布式文件系統,BlockManager接受數據(可能從本地或者其他結點)的時候是以iterator的形式,并且這些數據有序列化和非序列化的。需要注以下兩點:

a) iterator在物理內存上是不連續的,如果后續spark要把數據裝載進內存的話,就需要把這些數據放進一個array(物理上連續)。

b) 另外,序列化數據需要進行展開,如果直接展開序列化的數據,會造成OOM, 所以,BlockManager會逐漸的展開這個iterator,并逐漸檢查內存里是否還有足夠的空間用來展開數據放進array里。

 

unroll的優先級還是比較高的,它使用的內存空間可以從storage中借用,如果在storage中沒有現存的數據block,它甚至可以占據整個storage空間。如果storage中有數據block,它可以***drop掉內存的數據是以spark.storage.unrollFraction來控制的。由圖6可知,這部分默認為storage的20%。

注意:這個20%的空間并不是靜態保留的,而是通過drop掉內存中的數據block來分配的。如果unroll失敗了,spark會把這部分數據evict 到硬盤。

五.Other 部分

這片內存用于程序本身運行所需的內存,以及用戶定義的數據結構和創建的對象,此內存有上面兩部分決定,默認為0.2。

六.局限性

spark的設計文檔中指出靜態內存有以下局限性:

(1)沒有適用于所有應用的默認配置,通常需要開發人員針對不同的應用進行不同的參數配置。比如根據任務的執行邏輯,調整shuffle和storage內存占比來適應任務的需求。

(2) 這樣需要開發人員具備較高的spark原理知識。

(3) 那些不cache數據的應用在運行時只占用一小部分可用內存,因為默認的內存配置中,storage用去了safety內存的60%。

概念補充

eviction策略:在spark技術文檔中,eviction一詞經常出現。eviction并不是單純字面上驅逐的意思。說句題外話,spark我們通常都把它叫做內存計算框架,嚴格意義來說,spark并不是內存計算的新技術。無論是cache還是persist這類算子,spark在內存安排上,絕大多數用的都是LRU策略(LRU可以說是一種算法,也可以算是一種原則,用來判斷如何從Cache中清除對象,而LRU就是“近期最少使用”原則,當Cache溢出時,最近最少使用的對象將被從Cache中清除)。即當內存不夠的時候,會evict掉最遠使用過的內存數據block。當evict的時候,spark會將該數據塊evict到硬盤,而不是單純的拋棄掉。

無論是storage還是execution的內存空間,當內存區域的空間不夠用的時候,spark都會evict數據到硬盤。

因此,如果開發人員在內存分配上沒有合理的進行分配,無論是在storage還是execution超過內存的限制的時候,spark會把內存的數據寫到硬盤。如果是storage的情況,甚至可能把內存的數據全部寫到硬盤并丟掉。這樣做,無疑會增加系統調用、I/O以及重復計算的開銷。有過開發spark任務中包含大量shuffle stage的同學應該有同感,shuffle memory不夠的時候,spill到硬盤的數據會很大,導致任務很慢,甚至會導致任務的各種重試***任務fail掉。這種情況建議提高shuffle memory fraction。如果是資源調度在yarn上,建議通過spark.yarn.executor.memoryOverhead提高堆外內存,有的時候甚至會調到2g,3g,4g直到任務成功。spark相關優化,請參見spark系列后續的文章。

七.參考

[1] Unified Memory Management in Spark 1.6,Andrew Or and Josh Rosen

[2]https://www.ibm.com/developerworks/cn/analytics/library/ba-cn-apache-spark-memory-management/index.html?ca=drs-&utm_source=tuicool&utm_medium=referral

[3] https:// http://spark.apache.org

[4] http://www.jianshu.com/p/e41b18a7e202

責任編輯:武曉燕 來源: TalkingData數據學堂
相關推薦

2019-05-30 11:04:52

內存Spark管理

2017-04-01 14:01:50

Apache Spar內存管理

2018-08-09 11:06:39

Apache Spar內存模型

2011-06-03 10:19:59

iphone Objective-

2019-10-10 16:20:23

spark內存管理

2019-04-17 14:44:42

Spark內存源碼

2011-07-19 15:37:13

Oracle 10g內存管理PGA

2010-09-26 13:23:13

JVM內存管理機制

2018-06-06 08:28:37

Spark內存管理

2010-12-10 15:40:58

JVM內存管理

2011-06-29 17:20:20

Qt 內存 QOBJECT

2011-07-01 10:16:08

C++內存管理

2020-08-18 19:15:44

Redis內存管理

2024-03-26 00:33:59

JVM內存對象

2018-05-31 20:49:50

Spark堆內內存優化機制

2022-12-28 08:52:15

編譯器自動內存管理

2011-08-22 11:07:16

IOS 開發多核內存

2009-09-02 09:23:26

.NET內存管理機制

2018-05-10 09:51:39

Spark內存Hadoop

2009-10-27 14:31:57

linux靜態路由
點贊
收藏

51CTO技術棧公眾號

国产理论在线| 亚洲精品成人区在线观看| 日韩欧美自拍| 日韩视频在线你懂得| 黄色一级视频片| 欧美三级电影一区二区三区| 成人午夜免费视频| 国产精品 欧美在线| 久久久久久久国产精品毛片| 欧美日韩精品一区二区视频| 亚洲国产精品成人精品| 色戒在线免费观看| 成人美女黄网站| 亚洲精品国产一区二区精华液| 美女黄毛**国产精品啪啪| 国产男男gay网站| 天堂成人国产精品一区| 久久久久久91香蕉国产| 色偷偷男人天堂| 伊人久久大香线蕉av不卡| 欧美一区二区视频网站| 国产区二区三区| 欧美男男激情videos| 亚洲综合在线第一页| 亚洲欧美日韩精品久久久| 亚洲人妻一区二区| 成人美女在线观看| 成人激情av| 国产又色又爽又黄又免费| 久久成人免费| 91sa在线看| 久久精品这里有| 午夜久久久久| 久久综合九色九九| 国产不卡在线观看视频| 精品一二三区| 精品视频—区二区三区免费| fc2成人免费视频| 亚洲小说春色综合另类电影| 欧美一级艳片视频免费观看| 激情黄色小视频| 高清成人在线| 一本色道久久综合亚洲aⅴ蜜桃| 成品人视频ww入口| 欧美aaaxxxx做受视频| 亚洲精品视频一区| 国产激情片在线观看| 二区三区四区高清视频在线观看| 国产精品久久久久一区| 色之综合天天综合色天天棕色| 玖玖综合伊人| 国产亚洲一区二区三区四区 | 中文字幕一区电影| 国产激情av在线| 色135综合网| 久久在线免费视频| 日韩成人毛片视频| 欧美黄色一级视频| 久久久久久国产精品久久| 久久久久无码国产精品| 一本色道久久综合亚洲精品高清| 97香蕉久久超级碰碰高清版| 亚洲黄色一区二区| 久久这里只有| 国产噜噜噜噜久久久久久久久| 一级片aaaa| 国产不卡免费视频| 精品久久久三级| 国产毛片av在线| 国产精品不卡一区二区三区| 国产又粗又爽又黄的视频| 在线看一级片| 精品久久在线播放| 欧美精品成人网| 91精品国产色综合久久不卡粉嫩| 日韩视频免费观看高清在线视频| 精品影片一区二区入口| 免费成人高清在线视频theav| 国产亚洲欧洲高清一区| 国产黄在线免费观看| 狠狠爱www人成狠狠爱综合网 | 黄色一级片免费在线观看| 日本人妖一区二区| 91在线在线观看| 性感美女福利视频| 国产精品色在线| 国产高清www| 国产福利91精品一区二区| 日韩欧美一级二级三级| 免费一级做a爰片久久毛片潮| 色无极亚洲影院| 午夜精品久久久久久久99黑人| 伊人久久中文字幕| 国产成人精品午夜视频免费| 青青草原亚洲| 91资源在线观看| 欧美色国产精品| 黄色在线免费播放| 日韩久久精品网| 97精品国产91久久久久久| 91成人国产综合久久精品| www.日韩大片| 青青在线免费视频| 国产麻豆一区| 亚洲精品99久久久久| 性欧美疯狂猛交69hd| 亚洲一区观看| 成人动漫视频在线观看完整版 | xx欧美撒尿嘘撒尿xx| 国产极品模特精品一二| 久久这里有精品| 糖心vlog精品一区二区| 不卡视频在线观看| 中国一级黄色录像| 国产经典一区| 亚洲人成在线观看网站高清| 久久免费精彩视频| 国产综合色视频| 午夜欧美性电影| 深夜福利视频一区二区| 欧美成人免费网站| 天海翼在线视频| 麻豆精品视频在线观看免费| 欧美日韩天天操 | 亚洲一区亚洲二区| 成人18在线| 一道本成人在线| 第四色在线视频| 影院欧美亚洲| 国产精品一区二区三区不卡| 日日夜夜天天综合入口| 制服.丝袜.亚洲.中文.综合| 亚洲a v网站| 亚洲一区二区毛片| 九九热久久66| 午夜激情电影在线播放| 亚洲成人av在线播放| 18精品爽视频在线观看| 国产乱人伦偷精品视频免下载| 一区二区三区av在线| 国产精品久久久久久久久免费高清| 亚洲欧洲xxxx| 中文天堂在线资源| 国产精品色噜噜| 一起操在线视频| 91欧美在线| 成人网页在线免费观看| 在线观看免费黄视频| 欧美三级一区二区| 肉色超薄丝袜脚交69xx图片| 久久99精品国产.久久久久| 男人的天堂成人| 欧美久久亚洲| 午夜精品久久久久久99热软件| 亚洲 国产 欧美 日韩| 日韩欧美999| 精品人妻一区二区三区蜜桃视频| 日韩和欧美一区二区| 色综合影院在线观看| va天堂va亚洲va影视| 欧美成人免费大片| 色哟哟中文字幕| 欧美日韩在线一区| 嘿嘿视频在线观看| 国产在线视频一区二区三区| 久久综合久久久久| 四虎影视精品| 国产精品入口免费视| 在线观看小视频| 日韩精品免费在线视频观看| 中文人妻熟女乱又乱精品| 亚洲欧美偷拍另类a∨色屁股| 亚洲视频天天射| 亚洲欧美日韩国产| www.午夜色| 久久精品福利| 国产精品成人v| 蜜桃视频在线观看www社区| 精品乱人伦小说| 激情视频网站在线观看| 亚洲三级小视频| 捆绑凌虐一区二区三区| 日本sm残虐另类| xxxx18hd亚洲hd捆绑| 欧美日韩水蜜桃| 亚洲一区二区三区在线免费观看| 看黄在线观看| 久久国内精品一国内精品| 色香蕉在线视频| 欧美日韩一区视频| 黄色一级片免费看| 中文字幕欧美一区| 粉嫩av蜜桃av蜜臀av| 国产一区二区不卡老阿姨| 日韩欧美国产免费| 亚洲影视一区二区三区| 欧美日韩免费高清| 国产成人福利av| 成人久久久久久| 美女18一级毛片一品久道久久综合| 久久精品视频亚洲| 久久经典视频| 亚洲成人激情在线观看| 一级α片免费看刺激高潮视频| 婷婷丁香激情综合| 在线观看成人毛片| 中文在线资源观看网站视频免费不卡 | 亚洲国产成人av在线| 国产一区二区网站| 欧洲亚洲精品在线| 国产精品视频免费播放| 洋洋成人永久网站入口| 91免费公开视频| 国产精品另类一区| 一级片视频免费看| 99久久久久久99| 国产清纯白嫩初高中在线观看性色| 轻轻草成人在线| 国产一区视频免费观看| 中文久久精品| 国产九色porny| 女同性一区二区三区人了人一| 亚洲欧洲久久| 欧美综合一区| 日韩福利二区| 国产精品自拍区| 久久99精品久久久久子伦| 777久久精品| 3d动漫精品啪啪一区二区三区免费| 福利精品在线| 国产精品无码专区在线观看| av一区在线| 日韩免费视频在线观看| 欧美三级精品| 国产精品99一区| 二吊插入一穴一区二区| 日韩免费av一区二区| 日韩电影大全网站| 日韩免费不卡av| 电影天堂国产精品| 国产精品第100页| 国产精品亚洲成在人线| 成人在线小视频| 国产情侣一区在线| 亚洲综合在线播放| 欧美片网站免费| 国产精品成人观看视频免费| 成人在线视频你懂的| 国产亚洲福利社区| 天美av一区二区三区久久| 久久亚裔精品欧美| 欧美激情在线精品一区二区三区| 欧洲精品久久| 国产精品久久久久久久久妇女| 自拍另类欧美| 欧美精品三级| 成人黄色av片| 老司机精品视频网站| 五月婷婷激情久久| 国产精品一区在线| 波多野结衣影院| 久久久天堂av| 999福利视频| 亚洲一区二区三区四区五区中文| 丰满少妇乱子伦精品看片| 色天使色偷偷av一区二区| 精品国产青草久久久久96| 91精品国产综合久久小美女| 亚洲精品综合网| 亚洲人成电影网站| 在线观看av黄网站永久| 欧美高清第一页| 成人勉费视频| 成人欧美一区二区三区在线湿哒哒| 动漫3d精品一区二区三区乱码| 日本在线观看一区| 一区二区不卡| 黄色片视频在线免费观看| 久久99国产乱子伦精品免费| 黄色免费视频网站| 国产精品久久久久久久久免费相片| 免费毛片在线播放免费| 色诱亚洲精品久久久久久| 国产永久免费视频| 日韩精品视频在线播放| 日本三级在线视频| 91成人免费观看网站| 国产精品无码久久久久| 国产原创精品| 成人在线免费观看视频| 欧美国产日韩激情| 蜜臂av日日欢夜夜爽一区| 国产一级黄色录像| 亚洲欧洲三级电影| 色av性av丰满av| 欧美成人伊人久久综合网| 国产h视频在线观看| 午夜精品国产精品大乳美女| 亚洲欧美一级| 欧美日韩电影一区二区三区| 午夜电影亚洲| 天堂av8在线| 久久综合色天天久久综合图片| 人妻少妇精品一区二区三区| 色激情天天射综合网| 欧美一级性视频| 不卡av在线网站| 国产亚洲人成a在线v网站| 久久青青草综合| 国精品一区二区三区| 一级黄色片国产| 中文字幕av一区二区三区高| 久久青青草视频| 亚洲国产精品嫩草影院久久| 日本在线视频中文有码| 成人在线视频网站| 99re久久最新地址获取| 日韩精品一区二区三区不卡 | 日韩中文字幕亚洲一区二区va在线 | 精品人妻一区二区三区换脸明星| 中国china体内裑精亚洲片| 在线观看特色大片免费视频| 国产九色精品| 国产专区一区| 亚洲成人av免费观看| 亚洲丝袜另类动漫二区| 中文字字幕在线中文乱码| 国产午夜精品全部视频播放| 伊人久久综合一区二区| 久草热久草热线频97精品| 影音先锋在线一区| xxxwww国产| 午夜电影久久久| 污污视频在线观看网站| 午夜精品一区二区三区在线 | 亚洲精品动漫100p| 成人超碰在线| 狠狠爱一区二区三区| 中文亚洲免费| 国产免费看av| 欧美视频三区在线播放| 成人免费高清在线播放| 国产精品永久免费视频| 国产精品99视频| www,av在线| 亚洲韩国一区二区三区| 免费观看黄色一级视频| 97久久伊人激情网| 小嫩嫩12欧美| www.色就是色| 中文字幕一区二区三区色视频| 国产精品女人久久久| 欧美日韩国产999| 欧美巨大xxxx| 国产精彩免费视频| 国产精品乱人伦中文| 国产不卡精品视频| 韩国19禁主播vip福利视频| 色婷婷综合久久久久久| 日本www.色| 亚洲欧美国产高清| 少妇高潮久久久| 日韩免费av片在线观看| 99久久九九| 国产大尺度视频| 色婷婷国产精品| 免费观看久久久久| 国产一区二区久久久| 日韩成人免费电影| 麻豆视频在线观看| 亚洲欧美国产高清va在线播| 日本免费成人| 97视频久久久| 国产日产欧美精品一区二区三区| 97在线公开视频| 性欧美长视频免费观看不卡| 青青草成人影院| 99久久久无码国产精品性波多 | 美女国产在线| 国产精品区二区三区日本| 久久一区国产| 国产十六处破外女视频| 精品视频在线播放免| 高清不卡一区| 波多野结衣作品集| 亚洲一区二区三区影院| 98在线视频| 国产在线一区二区三区欧美| 麻豆精品蜜桃视频网站| www.天天色| 日韩午夜在线视频| 日韩人体视频| 两女双腿交缠激烈磨豆腐| 91福利国产成人精品照片| 黄色影院在线看| 中文字幕日韩精品久久| 久久新电视剧免费观看| xxxx国产精品| 成人黄色大片在线免费观看| 日韩制服丝袜先锋影音|