精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

国产一区二区在线| 欧美综合影院| 久久精品夜夜夜夜久久| 成人激情视频免费在线| 青青草激情视频| 天堂资源在线亚洲| 69堂精品视频| 免费在线观看日韩视频| 黄色免费在线网站| 91网上在线视频| 91久久精品国产91久久| www日韩精品| 亚洲破处大片| 国产亚洲人成网站在线观看| 亚洲午夜精品在线观看| 日韩伦理三区| 一区二区三区蜜桃网| 欧洲亚洲一区二区| 色哟哟中文字幕| 韩国成人福利片在线播放| 91av福利视频| 青青操国产视频| 97视频热人人精品免费| 亚洲精品一二区| 无码人妻一区二区三区在线| 婷婷激情成人| 91福利视频久久久久| 性一交一乱一伧国产女士spa| 2019中文字幕在线视频| 99精品国产99久久久久久白柏 | gogo大尺度成人免费视频| 色中色一区二区| 人妻夜夜添夜夜无码av| 日本熟妇人妻xxxx| 久久成人国产精品入口| 久久中文视频| 中文字幕视频一区二区在线有码 | 欧美经典三级视频一区二区三区| 精品午夜一区二区三区| 国产极品久久久| 激情综合网天天干| 成人黄在线观看| 91国产免费视频| 美女视频黄免费的久久| 国产精品成av人在线视午夜片| 国产污污视频在线观看 | 久久久人成影片一区二区三区| 永久免费看片视频教学| 日韩免费看片| 一区二区三区黄色| 美国美女黄色片| 成人av资源电影网站| 最新中文字幕亚洲| 在线观看天堂av| 国产电影一区二区在线观看| 日日骚av一区| 国产第一页浮力| 亚洲中无吗在线| 久久国产精彩视频| 欧美做爰爽爽爽爽爽爽| 欧美激情一区| 久久人91精品久久久久久不卡 | 亚洲免费精品| 亚洲91av视频| 国产精品suv一区| 日韩成人免费电影| 成人免费淫片视频软件| 国产丰满美女做爰| 成人精品免费看| 久久av一区二区| 国模吧精品人体gogo| 欧美极品美女视频| av影院在线播放| 2001个疯子在线观看| 色综合中文字幕| 日本在线一二三区| 日韩一区二区三区在线看| 精品久久久久久无| 国产美女免费网站| 99久久亚洲精品| 欧美精品久久久久| 国产一级免费视频| 久久99久国产精品黄毛片色诱| 114国产精品久久免费观看| 日韩一级免费毛片| 国产精品免费看片| 国产免费裸体视频| 偷拍中文亚洲欧美动漫| 91精品综合久久久久久| 韩国无码一区二区三区精品| 成人看的羞羞网站| 欧美国产日韩一区二区在线观看| 成人免费视频毛片| 精油按摩中文字幕久久| 国内成+人亚洲| 1024国产在线| 五月综合激情网| 欧美女同在线观看| 久久九九热re6这里有精品| 一个人www欧美| 久久久精品99| 蜜桃视频免费观看一区| 国产精品一区二区三区免费| jizz在线免费观看| 亚洲愉拍自拍另类高清精品| 久久精品影视大全| 欧美日韩一本| 欧美成人免费一级人片100| 在线观看日本视频| 国产白丝网站精品污在线入口| 日本一区二区免费看| 久操av在线| 欧美裸体一区二区三区| 美女被到爽高潮视频| 精品不卡视频| 91视频88av| bbbbbbbbbbb在线视频| 亚洲国产aⅴ成人精品无吗| 天天干天天操天天做| 久操精品在线| 久久久久国色av免费观看性色| 在线免费看av片| 久久久国产精品午夜一区ai换脸| 国内少妇毛片视频| 国产精品成人**免费视频| 亚洲欧美综合另类中字| 日韩欧美性视频| 国产成人精品www牛牛影视| 亚洲精品乱码久久久久久蜜桃91 | 久久亚洲无码视频| 亚洲色诱最新| 国产精品一区二区三区免费| 97caopor国产在线视频| 欧美精品三级在线观看| 黄色三级生活片| 日日欢夜夜爽一区| 欧美日韩天天操| 两个人看的在线视频www| 欧美精品一区二区精品网| 欧美成人一区二区三区高清| 国内精品视频一区二区三区八戒| 亚洲高清不卡一区| 日本精品裸体写真集在线观看| 精品在线小视频| www.国产色| 久久综合久久综合九色| 欧美 日韩精品| 精品在线观看入口| 国产mv久久久| 国产精品四虎| 欧美三级视频在线观看| 亚洲一二三精品| 精品一区二区影视| 99精品视频网站| 免费欧美网站| 久久久影视精品| 神马午夜电影一区二区三区在线观看 | 青娱乐免费在线视频| 国产精品一区在线观看乱码| 波多野结衣 作品| ady日本映画久久精品一区二区| 欧美黑人巨大xxx极品| 亚洲精品中文字幕成人片| 亚洲成人午夜电影| 欧美性xxxx图片| 日韩精品电影在线观看| 中文网丁香综合网| 中文字幕亚洲在线观看| 97福利一区二区| 高清在线观看av| 欧美一区二区视频在线观看| 国产一级av毛片| 久久综合狠狠综合久久综合88| 成年人视频在线免费| 色偷偷综合网| 成人动漫在线观看视频| 国产三级电影在线播放| 亚洲美女视频网| 一起草av在线| 亚洲国产一区二区三区| 久久只有这里有精品| 九九视频精品免费| 秋霞无码一区二区| 欧美丝袜丝交足nylons172| 亚洲xxx大片| 亚洲三级欧美| xxxxx成人.com| 神马午夜一区二区| 欧美精品在线视频| 久久99精品波多结衣一区| 一区视频在线播放| 亚洲av无码一区二区三区观看 | 欧美午夜激情视频| 91狠狠综合久久久| 2023国产精品自拍| 四虎1515hh.com| 久久久久在线| 国产肉体ⅹxxx137大胆| 国产精品片aa在线观看| 国产高清在线一区| 999久久久国产999久久久| 96精品视频在线| caopon在线免费视频| 亚洲女人初尝黑人巨大| www.久久伊人| 欧美午夜精品一区| 91香蕉在线视频| 亚洲男帅同性gay1069| 性久久久久久久久久| 国产成人免费视频网站| 久久撸在线视频| 久久在线91| 国产资源在线视频| 欧美午夜精品| 宅男av一区二区三区| 米奇777超碰欧美日韩亚洲| www日韩av| 少妇高潮一区二区三区99| 日本在线精品视频| 色是在线视频| 久久久亚洲成人| 狂野欧美激情性xxxx欧美| 久久九九免费视频| 天堂а√在线资源在线| 亚洲视频专区在线| 欧美性孕妇孕交| 日韩av网址在线观看| 好吊色一区二区| 日韩一区二区三区免费看| 亚洲最新av网站| 欧美三级在线看| 国产精品一区av| 美女高潮在线观看| 69av在线播放| 国产色播av在线| 91精品国产乱码久久久久久久久| 日本小视频在线免费观看| 久久视频这里只有精品| 欧美成人二区| 日韩一区二区在线视频| 欧美性videos| 精品国产一区久久久| 日本高清视频在线观看| 色小说视频一区| 在线视频婷婷| xxx一区二区| 国产1区在线| 美女精品视频一区| 2021国产在线| 久久久久亚洲精品| 17videosex性欧美| 5566日本婷婷色中文字幕97| 特黄毛片在线观看| 欧美亚洲成人免费| 樱桃视频成人在线观看| 国产精品久久久久久久app| 在线成人视屏| 国产日韩在线看片| 精品亚洲二区| 国产精品乱码一区二区三区| 电影一区二区在线观看| 免费观看成人高| 成人激情开心网| 中文字幕日韩一区二区三区| 欧美一区影院| 久久国产精品网| 亚洲一区国产一区| 日韩av一二三四| 另类专区欧美蜜桃臀第一页| 亚洲三级在线观看视频| 国产老妇另类xxxxx| 91视频在线免费| 久久精品亚洲国产奇米99| 欧美a级片免费看| 一区二区三区中文在线观看| 亚洲综合一二三| 欧美亚洲愉拍一区二区| 国产精品乱码一区二区| 亚洲第一网站免费视频| 四虎精品在线| 深夜精品寂寞黄网站在线观看| 色呦呦视频在线观看| 26uuu另类亚洲欧美日本老年| 亚洲成人短视频| 91亚洲国产精品| 乱亲女h秽乱长久久久| 日韩亚洲欧美精品| 欧美国产三级| 欧美黑人又粗又大又爽免费| 国产在线一区二区| 国产精品揄拍100视频| 亚洲色大成网站www久久九九| 日韩经典在线观看| 欧美日韩国产一级| 亚洲欧美日韩动漫| 日韩一区二区福利| 性欧美18~19sex高清播放| 91精品国产综合久久香蕉922| 欧美午夜寂寞| 中文字幕日韩一区二区三区| 亚洲欧美日韩国产综合精品二区 | 欧美97人人模人人爽人人喊视频| 99porn视频在线| 三级电影一区| 黄色免费观看视频网站| 国产一区二区三区四区五区美女| av无码av天天av天天爽| 亚洲男女一区二区三区| 天天干天天插天天射| 亚洲国产小视频在线观看| 欧美三级理伦电影| 国产成人综合av| 日韩欧美中文字幕一区二区三区| 日韩av一区二区三区美女毛片| 99re国产精品| av漫画在线观看| 亚洲柠檬福利资源导航| 91精品人妻一区二区三区果冻| 国产午夜精品麻豆| 超碰在线最新网址| 99c视频在线| 综合一区av| 亚洲天堂国产视频| 日本一区二区三区高清不卡| 日本va欧美va国产激情| 欧美tickling网站挠脚心| 精品176二区| 91精品久久久久久久久久| 蜜乳av综合| 日韩免费高清在线| 99re视频精品| 日本在线观看中文字幕| 日韩欧美国产1| 日韩伦理电影网站| 亚洲最大成人网色| 中文av一区| 97超碰免费在线观看| 亚洲欧美激情视频在线观看一区二区三区 | 私密视频在线观看| 亚洲国产成人av好男人在线观看| www天堂在线| 欧美激情乱人伦一区| 视频在线一区| 97超碰在线视| 成人av在线一区二区三区| 国产一级二级三级| 精品日韩在线观看| 欧美xxxhd| 欧美裸体网站| 日韩高清一级片| 国产黄色录像视频| 欧美日韩一区不卡| 日本精品在线| 成人av片网址| 西西裸体人体做爰大胆久久久| 少妇按摩一区二区三区| 欧美主播一区二区三区美女| 成人免费在线观看| 国产一区玩具在线观看| 欧美日本三区| 私密视频在线观看| 欧美在线视频全部完| 在线免费观看黄色av| 成人淫片在线看| 精品成人国产| 国精产品一区二区三区| 欧美日韩欧美一区二区| 羞羞视频在线免费国产| 国产乱码精品一区二区三区卡| 国产亚洲一级| 日本一级片免费| 亚洲国产精品va在线看黑人| 欧美日韩国产v| 一区二区在线不卡| 成人动漫视频在线| 毛片在线免费播放| 久久在线视频在线| 秋霞综合在线视频| 一区二区在线免费看| 一区二区在线观看免费视频播放 | 精品国产一区二区三区久久狼5月 精品国产一区二区三区久久久狼 精品国产一区二区三区久久久 | 色综合视频二区偷拍在线| 狠狠色综合日日| 日本熟妇毛茸茸丰满| 中文字幕综合在线| 99a精品视频在线观看| www日韩视频| 亚洲一区二区三区激情| 高h视频在线| 国产精品theporn88| 免费成人在线观看| 日韩欧美亚洲国产| 精品国产自在精品国产浪潮 | 一区二区日本| 99精品视频在线观看| 艳妇乳肉豪妇荡乳av| 欧美怡春院一区二区三区| 亚洲精品成人影院| 91视频免费观看网站| 精品久久国产字幕高潮|