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

Apache Spark 統(tǒng)一內(nèi)存管理模型詳解

存儲(chǔ) 存儲(chǔ)軟件 Spark
本文將對(duì) Spark 的內(nèi)存管理模型進(jìn)行分析,下面的分析全部是基于 Apache Spark 2.2.1 進(jìn)行的。為了讓下面的文章看起來(lái)不枯燥,我不打算貼出代碼層面的東西。文章僅對(duì)統(tǒng)一內(nèi)存管理模塊(UnifiedMemoryManager)進(jìn)行分析。

本文將對(duì) Spark 的內(nèi)存管理模型進(jìn)行分析,下面的分析全部是基于 Apache Spark 2.2.1 進(jìn)行的。為了讓下面的文章看起來(lái)不枯燥,我不打算貼出代碼層面的東西。文章僅對(duì)統(tǒng)一內(nèi)存管理模塊(UnifiedMemoryManager)進(jìn)行分析。

我們都知道 Spark 能夠有效的利用內(nèi)存并進(jìn)行分布式計(jì)算,其內(nèi)存管理模塊在整個(gè)系統(tǒng)中扮演著非常重要的角色。為了更好地利用 Spark,深入地理解其內(nèi)存管理模型具有非常重要的意義,這有助于我們對(duì) Spark 進(jìn)行更好的調(diào)優(yōu);在出現(xiàn)各種內(nèi)存問(wèn)題時(shí),能夠摸清頭腦,找到哪塊內(nèi)存區(qū)域出現(xiàn)問(wèn)題。下文介紹的內(nèi)存模型全部指 Executor 端的內(nèi)存模型, Driver 端的內(nèi)存模型本文不做介紹。統(tǒng)一內(nèi)存管理模塊包括了堆內(nèi)內(nèi)存(On-heap Memory)和堆外內(nèi)存(Off-heap Memory)兩大區(qū)域,下面對(duì)這兩塊區(qū)域進(jìn)行詳細(xì)的說(shuō)明。

堆內(nèi)內(nèi)存(On-heap Memory)

默認(rèn)情況下,Spark 僅僅使用了堆內(nèi)內(nèi)存。Executor 端的堆內(nèi)內(nèi)存區(qū)域大致可以分為以下四大塊:

  • Execution 內(nèi)存:主要用于存放 Shuffle、Join、Sort、Aggregation 等計(jì)算過(guò)程中的臨時(shí)數(shù)據(jù)
  • Storage 內(nèi)存:主要用于存儲(chǔ) spark 的 cache 數(shù)據(jù),例如RDD的緩存、unroll數(shù)據(jù);
  • 用戶內(nèi)存(User Memory):主要用于存儲(chǔ) RDD 轉(zhuǎn)換操作所需要的數(shù)據(jù),例如 RDD 依賴等信息。
  • 預(yù)留內(nèi)存(Reserved Memory):系統(tǒng)預(yù)留內(nèi)存,會(huì)用來(lái)存儲(chǔ)Spark內(nèi)部對(duì)象。

整個(gè) Executor 端堆內(nèi)內(nèi)存如果用圖來(lái)表示的話,可以概括如下:

如果想及時(shí)了解Spark、Hadoop或者Hbase相關(guān)的文章,歡迎關(guān)注微信公共帳號(hào):iteblog_hadoop

我們對(duì)上圖進(jìn)行以下說(shuō)明:

  • systemMemory = Runtime.getRuntime.maxMemory,其實(shí)就是通過(guò)參數(shù) spark.executor.memory 或 --executor-memory 配置的。
  • reservedMemory 在 Spark 2.2.1 中是寫死的,其值等于 300MB,這個(gè)值是不能修改的(如果在測(cè)試環(huán)境下,我們可以通過(guò) spark.testing.reservedMemory 參數(shù)進(jìn)行修改);
  • usableMemory = systemMemory - reservedMemory,這個(gè)就是 Spark 可用內(nèi)存。

堆外內(nèi)存(Off-heap Memory)

Spark 1.6 開(kāi)始引入了Off-heap memory(詳見(jiàn)SPARK-11389)。這種模式不在 JVM 內(nèi)申請(qǐng)內(nèi)存,而是調(diào)用 Java 的 unsafe 相關(guān) API 進(jìn)行諸如 C 語(yǔ)言里面的 malloc() 直接向操作系統(tǒng)申請(qǐng)內(nèi)存,由于這種方式不進(jìn)過(guò) JVM 內(nèi)存管理,所以可以避免頻繁的 GC,這種內(nèi)存申請(qǐng)的缺點(diǎn)是必須自己編寫內(nèi)存申請(qǐng)和釋放的邏輯。

默認(rèn)情況下,堆外內(nèi)存是關(guān)閉的,我們可以通過(guò) spark.memory.offHeap.enabled 參數(shù)啟用,并且通過(guò) spark.memory.offHeap.size 設(shè)置堆外內(nèi)存大小,單位為字節(jié)。如果堆外內(nèi)存被啟用,那么 Executor 內(nèi)將同時(shí)存在堆內(nèi)和堆外內(nèi)存,兩者的使用互補(bǔ)影響,這個(gè)時(shí)候 Executor 中的 Execution 內(nèi)存是堆內(nèi)的 Execution 內(nèi)存和堆外的 Execution 內(nèi)存之和,同理,Storage 內(nèi)存也一樣。相比堆內(nèi)內(nèi)存,堆外內(nèi)存只區(qū)分 Execution 內(nèi)存和 Storage 內(nèi)存,其內(nèi)存分布如下圖所示:

如果想及時(shí)了解Spark、Hadoop或者Hbase相關(guān)的文章,歡迎關(guān)注微信公共帳號(hào):iteblog_hadoop

Execution 內(nèi)存和 Storage 內(nèi)存動(dòng)態(tài)調(diào)整

細(xì)心的同學(xué)肯定看到上面兩張圖中的 Execution 內(nèi)存和 Storage 內(nèi)存之間存在一條虛線,這是為什么呢?

用過(guò) Spark 的同學(xué)應(yīng)該知道,在 Spark 1.5 之前,Execution 內(nèi)存和 Storage 內(nèi)存分配是靜態(tài)的,換句話說(shuō)就是如果 Execution 內(nèi)存不足,即使 Storage 內(nèi)存有很大空閑程序也是無(wú)法利用到的;反之亦然。這就導(dǎo)致我們很難進(jìn)行內(nèi)存的調(diào)優(yōu)工作,我們必須非常清楚地了解 Execution 和 Storage 兩塊區(qū)域的內(nèi)存分布。而目前 Execution 內(nèi)存和 Storage 內(nèi)存可以互相共享的。也就是說(shuō),如果 Execution 內(nèi)存不足,而 Storage 內(nèi)存有空閑,那么 Execution 可以從 Storage 中申請(qǐng)空間;反之亦然。所以上圖中的虛線代表 Execution 內(nèi)存和 Storage 內(nèi)存是可以隨著運(yùn)作動(dòng)態(tài)調(diào)整的,這樣可以有效地利用內(nèi)存資源。Execution 內(nèi)存和 Storage 內(nèi)存之間的動(dòng)態(tài)調(diào)整可以概括如下:

如果想及時(shí)了解Spark、Hadoop或者Hbase相關(guān)的文章,歡迎關(guān)注微信公共帳號(hào):iteblog_hadoop

具體的實(shí)現(xiàn)邏輯如下:

  • 程序提交的時(shí)候我們都會(huì)設(shè)定基本的 Execution 內(nèi)存和 Storage 內(nèi)存區(qū)域(通過(guò) spark.memory.storageFraction參數(shù)設(shè)置);
  • 在程序運(yùn)行時(shí),如果雙方的空間都不足時(shí),則存儲(chǔ)到硬盤;將內(nèi)存中的塊存儲(chǔ)到磁盤的策略是按照 LRU 規(guī)則進(jìn)行的。若己方空間不足而對(duì)方空余時(shí),可借用對(duì)方的空間;(存儲(chǔ)空間不足是指不足以放下一個(gè)完整的 Block)
  • Execution 內(nèi)存的空間被對(duì)方占用后,可讓對(duì)方將占用的部分轉(zhuǎn)存到硬盤,然后"歸還"借用的空間
  • Storage 內(nèi)存的空間被對(duì)方占用后,目前的實(shí)現(xiàn)是無(wú)法讓對(duì)方"歸還",因?yàn)樾枰紤] Shuffle 過(guò)程中的很多因素,實(shí)現(xiàn)起來(lái)較為復(fù)雜;而且 Shuffle 過(guò)程產(chǎn)生的文件在后面一定會(huì)被使用到,而 Cache 在內(nèi)存的數(shù)據(jù)不一定在后面使用。

注意,上面說(shuō)的借用對(duì)方的內(nèi)存需要借用方和被借用方的內(nèi)存類型都一樣,都是堆內(nèi)內(nèi)存或者都是堆外內(nèi)存,不存在堆內(nèi)內(nèi)存不夠去借用堆外內(nèi)存的空間。

Task 之間內(nèi)存分布

為了更好地使用使用內(nèi)存,Executor 內(nèi)運(yùn)行的 Task 之間共享著 Execution 內(nèi)存。具體的,Spark 內(nèi)部維護(hù)了一個(gè) HashMap 用于記錄每個(gè) Task 占用的內(nèi)存。當(dāng) Task 需要在 Execution 內(nèi)存區(qū)域申請(qǐng) numBytes 內(nèi)存,其先判斷 HashMap 里面是否維護(hù)著這個(gè) Task 的內(nèi)存使用情況,如果沒(méi)有,則將這個(gè) Task 內(nèi)存使用置為0,并且以 TaskId 為 key,內(nèi)存使用為 value 加入到 HashMap 里面。之后為這個(gè) Task 申請(qǐng) numBytes 內(nèi)存,如果 Execution 內(nèi)存區(qū)域正好有大于 numBytes 的空閑內(nèi)存,則在 HashMap 里面將當(dāng)前 Task 使用的內(nèi)存加上 numBytes,然后返回;如果當(dāng)前 Execution 內(nèi)存區(qū)域無(wú)法申請(qǐng)到每個(gè) Task 最小可申請(qǐng)的內(nèi)存,則當(dāng)前 Task 被阻塞,直到有其他任務(wù)釋放了足夠的執(zhí)行內(nèi)存,該任務(wù)才可以被喚醒。每個(gè) Task 可以使用 Execution 內(nèi)存大小范圍為 1/2N ~ 1/N,其中 N 為當(dāng)前 Executor 內(nèi)正在運(yùn)行的 Task 個(gè)數(shù)。

比如如果 Execution 內(nèi)存大小為 10GB,當(dāng)前 Executor 內(nèi)正在運(yùn)行的 Task 個(gè)數(shù)為5,則該 Task 可以申請(qǐng)的內(nèi)存范圍為 10 / (2 * 5) ~ 10 / 5,也就是 1GB ~ 2GB的范圍。

一個(gè)示例

為了更好的理解上面堆內(nèi)內(nèi)存和堆外內(nèi)存的使用情況,這里給出一個(gè)簡(jiǎn)單的例子。

只用了堆內(nèi)內(nèi)存

現(xiàn)在我們提交的 Spark 作業(yè)關(guān)于內(nèi)存的配置如下:

--executor-memory 18g

由于沒(méi)有設(shè)置 spark.memory.fraction 和 spark.memory.storageFraction 參數(shù),我們可以看到 Spark UI 關(guān)于 Storage Memory 的顯示如下:

如果想及時(shí)了解Spark、Hadoop或者Hbase相關(guān)的文章,歡迎關(guān)注微信公共帳號(hào):iteblog_hadoop

上圖很清楚地看到 Storage Memory 的可用內(nèi)存是 10.1GB,這個(gè)數(shù)是咋來(lái)的呢?根據(jù)前面的規(guī)則,我們可以得出以下的計(jì)算:

現(xiàn)在終于對(duì)上了。

具體將字節(jié)轉(zhuǎn)換成 GB 的計(jì)算邏輯如下(core 模塊下面的 /core/src/main/resources/org/apache/spark/ui/static/utils.js):

用了堆內(nèi)和堆外內(nèi)存

現(xiàn)在如果我們啟用了堆外內(nèi)存,情況咋樣呢?我們的內(nèi)存相關(guān)配置如下:

責(zé)任編輯:武曉燕 來(lái)源: Hadoop技術(shù)博文
相關(guān)推薦

2017-04-01 14:01:50

Apache Spar內(nèi)存管理

2019-05-30 11:04:52

內(nèi)存Spark管理

2018-12-18 14:37:26

Spark內(nèi)存管理

2018-05-31 20:49:50

Spark堆內(nèi)內(nèi)存優(yōu)化機(jī)制

2024-03-26 00:33:59

JVM內(nèi)存對(duì)象

2009-06-24 16:50:11

Java內(nèi)存模型

2025-06-06 06:25:07

2010-12-21 18:07:39

2011-06-03 10:19:59

iphone Objective-

2010-09-25 12:38:40

JVM內(nèi)存模型

2014-02-14 15:43:16

ApacheSpark

2019-10-10 16:20:23

spark內(nèi)存管理

2019-04-17 14:44:42

Spark內(nèi)存源碼

2011-07-19 15:37:13

Oracle 10g內(nèi)存管理PGA

2019-06-27 11:18:00

Spark內(nèi)存大數(shù)據(jù)

2010-09-26 13:23:13

JVM內(nèi)存管理機(jī)制

2025-10-17 08:46:54

2011-11-30 12:32:38

企業(yè)防毒防毒方案拯救三

2011-07-01 10:16:08

C++內(nèi)存管理

2011-06-29 17:20:20

Qt 內(nèi)存 QOBJECT
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

激情综合中文娱乐网| 精品入口麻豆88视频| 国产情人综合久久777777| 欧美精品在线视频| 国产精品有限公司| 免费看污视频的网站| 色999国产精品| 日韩一级精品视频在线观看| 美女日批免费视频| 在线观看免费版| 日本麻豆一区二区三区视频| 欧美另类99xxxxx| 久久久精品人妻无码专区| 不卡视频免费在线观看| 亚洲黄色免费| 色哟哟网站入口亚洲精品| 韩国三级在线看| 成人免费福利| 香蕉久久一区二区不卡无毒影院| 成人激情av| 中文字幕av影视| 亚洲精选国产| 欧美巨乳美女视频| 精品熟妇无码av免费久久| 粉嫩的18在线观看极品精品| 狠狠躁夜夜躁人人躁婷婷91 | 精品一区久久久| 国产一区二区三区中文字幕| 亚洲女同在线| 欧美激情网友自拍| 91久久国产综合| 成人精品中文字幕| 亚洲欧美综合精品久久成人| 欧美大喷水吹潮合集在线观看| 天堂√中文最新版在线| 亚洲自拍偷拍图区| 欧美日韩精品久久| 国 产 黄 色 大 片| 国产在线精品免费| 国产69精品久久久久99| 日本xxx在线播放| 国产伦精品一区二区三区在线播放| 偷拍亚洲欧洲综合| 久久久久久久9| 久久视频www| 99精品桃花视频在线观看| 国产精品对白刺激久久久| 国产女人高潮毛片| 国产乱人伦精品一区二区在线观看 | 波多野结衣办公室双飞| 欧美国产中文高清| 日韩一区二区视频| 黄色片子免费看| 久久伊人久久| 日韩欧美电影一二三| 久久精品亚洲天堂| 高清一区二区三区av| 欧美精品九九99久久| 在线a免费观看| 精品99re| 精品久久一区二区三区| 亚洲色图欧美日韩| 欧美日韩一区二区三区四区不卡 | 欧美精品中文字幕亚洲专区| 亚洲福利小视频| 亚洲图片综合网| 亚洲自拍电影| 精品国产免费人成在线观看| 丰满的少妇愉情hd高清果冻传媒 | 九九视频这里只有精品| 91视频免费在线看| 国产精品sm| 午夜伦理精品一区| 五月天激情四射| 毛片基地黄久久久久久天堂| 国产综合福利在线| 亚洲精品久久久久久久久久久久久久| 免费在线欧美视频| 成人黄色免费看| 国产综合视频在线| 国产精品一区在线观看你懂的| 国产99久久精品一区二区 夜夜躁日日躁 | 香港成人在线视频| 青青青在线播放| 久久国内精品| 精品国产一区久久| 亚洲最大成人综合网| 91高清一区| 欧美一级高清免费播放| 久久久久久久久久综合 | 久久久久久黄| 成人性生交大片免费观看嘿嘿视频| 亚洲视屏在线观看| 国产成人精品一区二| 久久国产精品免费一区| 毛片网站在线免费观看| 亚洲一二三区不卡| 污视频免费在线观看网站| 欧美一区一区| 亚洲欧美色图片| 免费网站看av| 日韩avvvv在线播放| 高清国产一区| 天天综合视频在线观看| 天天综合日日夜夜精品| 美女被艹视频网站| swag国产精品一区二区| 在线播放亚洲激情| 日本亚洲欧美在线| 国产一区二区三区四区五区入口| 91久久大香伊蕉在人线| 九色在线视频| 激情亚洲一区二区三区四区 | 少妇无套高潮一二三区| 激情一区二区| 91在线国产电影| 番号集在线观看| 天天亚洲美女在线视频| 成年人性生活视频| 国产精品7m凸凹视频分类| 欧亚精品中文字幕| 天堂成人在线观看| 亚洲最大色网站| 成人免费aaa| 爱爱精品视频| 欧美另类高清videos| 日本一级一片免费视频| 日韩中文欧美在线| 麻豆传媒一区| 欧美freesex黑人又粗又大| 日韩午夜激情免费电影| 九九精品视频免费| 精品中文av资源站在线观看| 亚洲精品不卡| aa级大片免费在线观看| 在线这里只有精品| 成人一级片网站| 国产成人夜色高潮福利影视 | 日本不卡在线| 欧美亚洲免费在线一区| 四虎永久免费在线观看| 久久狠狠婷婷| 欧洲久久久久久| 不卡av影片| 亚洲剧情一区二区| 免费视频久久久| 国产日韩精品一区| 无码少妇一区二区三区芒果| 视频精品在线观看| 国产精品免费久久久久久| 国产福利片在线| 欧美系列亚洲系列| 在线观看天堂av| 韩国欧美一区二区| wwwjizzjizzcom| 成人免费直播在线| 欧美激情手机在线视频| 午夜视频福利在线观看| 一本在线高清不卡dvd| 少妇欧美激情一区二区三区| 欧美日韩精品免费观看视频完整| 国产精品精品视频| 国产在线高清理伦片a| 夜夜操天天操亚洲| 国产人妻黑人一区二区三区| 欧美第一精品| 91视频99| 欧美freesex黑人又粗又大| 亚洲人高潮女人毛茸茸| 怡红院成永久免费人全部视频| 97久久精品人人澡人人爽| 无遮挡又爽又刺激的视频| 青青草成人影院| 91视频免费在线观看| 国产不卡人人| 在线观看亚洲视频| 性一交一乱一伧老太| 天天射综合影视| 少妇视频一区二区| 不卡一二三区首页| mm131国产精品| 亚洲午夜一级| 日产中文字幕在线精品一区| 99精品美女视频在线观看热舞| 一色桃子一区二区| 丁香社区五月天| 最好看的中文字幕久久| 精品一区二区视频在线观看| 免费的成人av| 欧美精品久久久久久久久久久| 亚洲一二av| 国产精品69av| 色婷婷av在线| 在线观看视频99| 天天操天天干天天| 欧美人动与zoxxxx乱| 日本少妇吞精囗交| 中文字幕中文字幕在线一区| 精品国产人妻一区二区三区| 久久精品国产99| 在线一区高清| 欧美国产极品| 亚洲最大福利视频网| 新片速递亚洲合集欧美合集| 欧美激情啊啊啊| 国产爆初菊在线观看免费视频网站 | 中文字幕欧美精品在线| 亚洲经典一区二区| 欧美日韩高清影院| 欧美黄色aaa| 国产亚洲成aⅴ人片在线观看| 91淫黄看大片| 国产精品久久久久久久久久10秀 | 国产自偷自偷免费一区| 亚洲手机视频| 糖心vlog在线免费观看| 免费成人结看片| 激情伦成人综合小说| 欧美黄色一级| 91av网站在线播放| 日本动漫理论片在线观看网站| 精品福利在线观看| 日本高清不卡免费| 国产精品女同互慰在线看| 国产偷人妻精品一区| 国产999精品久久| 国产乱叫456| 精品无人码麻豆乱码1区2区| 免费在线精品视频| 欧美日韩直播| 国产另类自拍| 视频一区国产| 91精品国产一区二区三区动漫 | 久久网站免费观看| 日本一区视频在线观看| 天天久久夜夜| 91老司机在线| 午夜激情电影在线播放| 中文字幕日韩专区| 成年人在线观看| 在线丨暗呦小u女国产精品| 国产专区在线| 国产亚洲人成网站在线观看| 毛片在线能看| 国产亚洲欧美aaaa| 91大神xh98hx在线播放| 中文字幕日韩精品在线观看| 91短视频版在线观看www免费| 亚洲成色777777女色窝| 天堂影院在线| 在线观看成人小视频| 日韩在线视频不卡| 91成人看片片| 91影院在线播放| 欧美视频13p| 欧美日韩乱国产| 色婷婷亚洲精品| 羞羞色院91蜜桃| 欧美精品xxxxbbbb| 精品人妻少妇AV无码专区| 日韩视频在线你懂得| 99re热视频| 欧美日高清视频| 国产成人精品a视频| 欧美三级电影在线观看| 国产精品人妻一区二区三区| 日韩精品在线一区二区| 色噜噜在线播放| 国产亚洲欧洲在线| av免费在线免费观看| 久久久久久高潮国产精品视| 二区三区不卡| 97在线视频免费观看| 超级碰碰久久| 成人性生交xxxxx网站| 欧美1区2区3区4区| 性欧美.com| 欧美久久视频| 99999精品视频| 国产精品最新自拍| 天天操,天天操| 国产凹凸在线观看一区二区| 欧美多人猛交狂配| 亚洲欧美偷拍三级| 久久国产一级片| 欧美最新大片在线看| а√中文在线资源库| 亚洲人成免费电影| 手机在线免费观看av| 日本国产一区二区三区| 一本大道色婷婷在线| 国产精品一区专区欧美日韩| 国产一区福利| 国产四区在线观看| 91精品国产自产拍在线观看蜜| 亚洲春色在线| 亚洲国产一区二区精品专区| xx欧美撒尿嘘撒尿xx| 99在线精品视频| 亚洲xxxx3d动漫| 在线精品亚洲一区二区不卡| 亚洲av无码乱码国产麻豆| 伊人久久久久久久久久久久久| 97超碰人人在线| 97国产真实伦对白精彩视频8| 久久影院午夜精品| 成人久久久久久久| 久久91成人| a级黄色一级片| 国产盗摄精品一区二区三区在线 | 91老师片黄在线观看| 国产精品九九九九九| 亚洲自拍欧美精品| 国产精品久久久久久久久久久久久久久久久久 | 成人激情久久| 日韩高清dvd| 国产精品呻吟| 精品人妻一区二区三区日产| 亚洲三级视频在线观看| 中国老头性行为xxxx| 亚洲人成电影网站色| 松下纱荣子在线观看| 国外成人在线视频网站| 欧美精品播放| 91亚洲一区二区| 亚洲欧洲三级电影| 久久国产在线观看| 色婷婷久久久亚洲一区二区三区 | 九九热国产精品视频| 在线成人小视频| 午夜毛片在线| 国产精品日韩一区| 成人自拍在线| 国产一级大片免费看| 国产乱码精品一区二区三区五月婷| 网站免费在线观看| 亚洲大型综合色站| 亚洲欧美强伦一区二区| 欧美激情视频一区二区| 999在线精品| 日韩黄色片在线| 麻豆精品国产传媒mv男同| 中文字幕18页| 国产欧美久久久精品影院| 精品久久久久久久久久久久久久久久 | 黄色成人在线看| 成人av在线播放网站| 精品国产免费观看| 亚洲欧洲xxxx| 19禁羞羞电影院在线观看| 国产精品乱码一区二区三区| 精品国产乱码久久久久久蜜坠欲下 | 丰满人妻av一区二区三区| 一区二区三区无码高清视频| 精品国模一区二区三区| 亚洲高清视频一区二区| 中文亚洲字幕| 久久美女免费视频| 欧美日韩精品一区二区三区蜜桃| 五月婷婷伊人网| 国产a∨精品一区二区三区不卡| 99re6热只有精品免费观看| 日本黄色播放器| 国产精品一二一区| a v视频在线观看| 这里只有精品在线播放| 91麻豆精品国产91久久久更新资源速度超快| 精品综合久久| 日韩福利视频导航| 精品人妻一区二区三区蜜桃视频| 精品久久久视频| 国产小视频在线观看| 91精品啪aⅴ在线观看国产| 精品96久久久久久中文字幕无| 91制片厂毛片| 一区二区三区欧美视频| 国产免费黄色片| 97av视频在线| 久久大综合网| 中文字幕在线视频播放| 欧美亚洲高清一区二区三区不卡| 久久精品蜜桃| 亚洲xxxxx性| 免费在线亚洲欧美| 国产精品18在线| 亚洲成人av资源网| 黄色日韩网站| 免费看日本毛片| 国产精品不卡一区二区三区| 特级丰满少妇一级aaaa爱毛片| 国语自产精品视频在免费| jizz性欧美23| www.亚洲高清| 黑人精品xxx一区一二区| 老司机午夜在线| 麻豆精品蜜桃一区二区三区| 国产精品一二二区| www.亚洲激情| 久久国内精品一国内精品| 国产精品久久久久久av公交车 |