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

一次簡單的G1gc參數(shù)調優(yōu)

開發(fā) 前端
大部分我遇見以及協(xié)助排查的GC案例中幾乎最終都是代碼的問題,比較令人的滿意的一個系統(tǒng)運行的場景其實是每次Ygc都能很好的消化掉垃圾對象,畢竟G1垃圾收集器的默認參數(shù)又少、又不錯。

[[420555]]

本文轉載自微信公眾號「再見伐木機」,作者再見伐木機。轉載本文請聯(lián)系再見伐木機公眾號。

緣起

交易的查詢服務調用組件的ES進行查詢,ES服務會間歇性的3-4天抖動一次(發(fā)生mixedGC),每次mixedgc耗時都在700ms+,而正常的dubbo超時設置在1s左右,所以當發(fā)生GC的時候會引起短時集中式的查詢超時,引起大量報警,而在之前的處理手段都是手動在凌晨四點觸發(fā)GC,防止白天對業(yè)務應用產(chǎn)生抖動。

插曲

這里要糾正一個很多人的誤解,為什么G1老年代的收集叫做mixedGC?

首先G1的進行老年代垃圾回收的時候不一定是全部的老年代,一般是部分的old region,然后因為老年的收集是可以和young gc同時進行的,所以叫mixedgc。

大部分我遇見以及協(xié)助排查的GC案例中幾乎最終都是代碼的問題,比較令人的滿意的一個系統(tǒng)運行的場景其實是每次Ygc都能很好的消化掉垃圾對象,畢竟G1垃圾收集器的默認參數(shù)又少、又不錯。

開始

(如上圖)我們從一個正常來說服務調用的鏈路說起:

從鏈路追蹤來看,上游應用發(fā)送請求的時間和下游開始處理請求的時間應該相差無幾。但是,一個rpc過程拋開業(yè)務邏輯中間需要哪些過程呢?

(此圖從網(wǎng)上copy,如有抄襲嫌疑,請聯(lián)系我刪除圖片狗頭保命)

可以看到,有序列化,網(wǎng)絡傳輸?shù)鹊取D且话憬涌诔瑫r會有哪些因素引起呢?

窮舉法:網(wǎng)絡問題、服務硬件問題、GC問題等

歷史重現(xiàn)

X月XX日,線上查詢服務又一次發(fā)生了抖動,于是公司內某張姓大佬過來問我,對話如下:

張大佬:雞哥,請教個問題

雞哥:你說說看,我應該不會(圖片)

張大佬:G1中加了-XX:+ParallelRefProcEnabled參數(shù)之后,GC耗時還是會很長,導致一波超時,你知道什么情況么?

雞哥:你確定么?

我們來分析下這個參數(shù),按道理來說這個參數(shù)(-XX:+ParallelRefProcEnabled)的含義是:盡可能啟用并行引用處理

那好,

我們探索下他為什么要加這個參數(shù)?是出現(xiàn)了什么現(xiàn)象讓他要加這個參數(shù)?

原來是張姓大佬通過gclog發(fā)現(xiàn)每次GC的【ref proc】階段耗時比較長,于是他從網(wǎng)上搜索到了這個參數(shù)之后就加上試了一下

現(xiàn)象

如上圖我們可以發(fā)現(xiàn)在gc過程中 ref-proc(mixedgc)階段發(fā)生了700ms+的暫停

【ref proc】階段到底是干什么的?

其實是對各種軟弱虛引用等的處理

圖中ref-proc 0.7034259 secs 就是處理 soft、weak、phantom、final、JNI 等等引用的時間

Oracle官方文檔如下描述:

其實是在G1的remark階段,對上述的引用根據(jù)其特定類型更新所指對象

額外分析

這又得從G1的Ygc說起,我們都知道,Ygc就是對象填滿Eden區(qū)然后觸發(fā)Ygc,而正常來說G1中有設置

  • -XX:MaxGCPauseMillis GC 最大停頓時間,默認 200ms 這個參數(shù)會影響到Ygc的STW時間,為什么呢?我們思考一下, MaxGCPauseMillis 時間越小,給STW時間也就越小,年輕代大概率就越小;反之 MaxGCPauseMillis 時間越大,給STW時間也就越大,年輕代大概率就會越大。此時是不是有人會有疑問?那我為了減少STW的時間,我就去降低MaxGCPauseMillis

此言差矣!!!!

MaxGCPauseMillis 越小,年輕代也越小,從而導致有很多短生命周期的對象被過早晉升到老年代。而老年代你們都懂的,標記清理過程比年輕代要復雜的多,整體效率也低,就導致雖然GC停滯時間下降了,但GC次數(shù)可能增多,整體吞吐量下降的情況。并且GC次數(shù)增多也會導致對CPU資源的占用增加,跟業(yè)務線程一起爭搶CPU

第一次處理

然后當天晚點時間,我被拉進一個三人組成的GC問題處理群

實驗了

三組對比參數(shù)

未調試:沒有加ParallelRefProcEnabled,年輕代自動分配了17g,Ygc(40ms),mixedgc (500ms)

調試1:-XX:+ParallelRefProcEnabled,年輕代自動分配了2g,Ygc(50ms),Ygc次數(shù)增加,mixedgc(200ms)

調試2:-XX:+ParallelRefProcEnabled和-XX:ParallelgCThreads=8,年輕代17g,Ygc(40ms),Ygc次數(shù)與未調試的情況差不多,mixedgc還沒有觸發(fā),所以耗時未知

我們可以基本上看到很明顯的問題就是通過加入(-XX:+ParallelRefProcEnabled)

現(xiàn)象:

總結一

其實我們發(fā)現(xiàn)官網(wǎng)推薦的指導手段,讓gc時間從700ms+下降到300ms左右,但是對于業(yè)務側還是會引起一波超時抖動

第二次處理

當然300ms完全沒辦法支撐,還是會帶來大量抖動,但是現(xiàn)有的gclog不夠觀察到本質,于是我推薦了如下參數(shù),觀測更具體的信息

-XX:+PrintReferenceGC

第二次現(xiàn)象

終于在X月X號,終于觸發(fā)了一次Mixedgc,日志也出來了(如下)

第二次處理

我們可以看到Softreference和FinalReference 占了兩個大頭,一個是132ms,一個255ms

其實問題幾乎就已經(jīng)快壓縮到最后了,此時可以看到Application stop 621ms

第三次現(xiàn)象

于是,問題定位到了就可以著手去解決了!

因為軟引用大家都知道,內存不足的時候才會去收集,所以項目中生成的軟引用對象太多的話,會在gc過程中產(chǎn)生較大的處理壓力

我們這次加上了 -XX:SoftRefLRUPolicyMSPerMB=0

官方解釋:Soft reference在虛擬機中比在客戶集中存活的更長一些。其清除頻率可以用命令行參數(shù) -XX:SoftRefLRUPolicyMSPerMB=來控制,這可以指定每兆堆空閑空間的 soft reference 保持存活(一旦它不強可達了)的毫秒數(shù),這意味著每兆堆中的空閑空間中的 soft reference 會(在最后一個強引用被回收之后)存活1秒鐘。注意,這是一個近似的值,因為 soft reference 只會在垃圾回收時才會被清除,而垃圾回收并不總在發(fā)生。系統(tǒng)默認為一秒,我覺得沒必要等1秒,客戶集中不用就立刻清除,改為 -XX:SoftRefLRUPolicyMSPerMB=0;

第三次結果

結果是什么?

我們可以看到的現(xiàn)象是 soft引用和final引用在每次Ygc過程中都被收集掉一部分,且數(shù)量比之前大一倍

而finalReference的疑問是什么呢?

因為在java8的SocketServiceImpl里實現(xiàn)了Object的finalize方法,為了防止socket鏈接忘了釋放資源,而進行幫助釋放

當有大量短鏈接未來得及釋放,會導致Finalizer對象過多,引起一開始我們看到的現(xiàn)象,所以猜測ES使用的OKHTTP的調用方式,但是無法dump,所以無從考證

但因為已經(jīng)在每次Ygc中進行收集了,其實也算是達到預期,但是不是很完美。

當然好像JDK9中的AbstractPlainSocketImpl已經(jīng)不再復寫finalize方法了,因為finallize() 方法是Object類的方法, 用于在類被GC回收時 做一些處理操作, 但是JVM并不能保證finalize() 方法一定被執(zhí)行,由finalize()方法的調用時機具有不確定性,從一個對象變得不可到達開始,到finalize()方法被執(zhí)行,所花費的時間這段時間是任意長的。我們并不能依賴finalize()方法能及時的回收占用的資源,可能出現(xiàn)的情況是在我們耗盡資源之前,gc卻仍未觸發(fā),因而通常的做法是提供顯示的close()方法供客戶端手動調用

小插曲

不少人的認知是soft引用會在內存不足時候回收?其實不一定,軟引用的回收是需要一定條件的我們看官方文檔怎么說

clock - timestamp <= freespace * SoftRefLRUPolicyMSPerMB

clock:上次GC的時間戳

timestamp:表示最近一次讀取軟引用對象的時間戳

這兩者的差值表示該軟引用對象多久沒被使用了,差值越大,軟引用對象價值越低,負數(shù)則表示軟引用對象剛剛被使用

freespace是空閑空間大小,SoftRefLRUPolicyMSPerMB表示每一MB的空閑內存空間可以允許軟引用對象存活多久,這也就間接的解釋了,為什么空間不夠用,空閑空間越小,軟應用對象就會被回收,因為它的存活時間會隨著空閑空間的減小而遞減。可以把 【freespace * SoftRefLRUPolicyMSPerMB】理解為忍耐度,對軟應用對象的忍耐程度。

等待

其實從gclog和現(xiàn)象之中大概已經(jīng)猜測到基本上已經(jīng)算是成功了,但是呢,加上這個參數(shù)【SoftRefLRUPolicyMSPerMB】也是有風險的,如下我說的

例子:假設程序中有很多反射創(chuàng)建類的操作,因為反射創(chuàng)建的類本身的Class對象都是被SoftReference軟引用的,加上了如上的參數(shù),軟引用就會被盡快的釋放掉,所以就會產(chǎn)生,反射創(chuàng)建大量類->剛創(chuàng)建完GC回收掉很多->反射執(zhí)行繼續(xù)創(chuàng)建大量類,最終導致Metaspace區(qū)域被打滿->導致FullGC

結果

等待了4天之后,聽著張姓大佬一陣激動的叫喊

發(fā)現(xiàn)mixedgc已經(jīng)穩(wěn)定到85ms左右

小插曲

1.為什么軟引用收集參數(shù)【SoftRefLRUPolicyMSPerMB】沒有在jvm中默認打開?

答:因為軟引用的特性特別適合做Cache,設計者目的就是想讓cache常駐內存,所以要到內存不夠的時候才去觸發(fā)收集

2.是否要引用ZGC?

中間有人給張姓大佬推薦了ZGC,于是我掏出了這種圖,JDK11開始有的,也是2018年9月左右發(fā)布,

第一,可以嘗試,但是這算是屏蔽了問題,而走捷徑;

第二,沒有人完全能hold住,出了問題誰來負責和修復?

GC調優(yōu)的幾個核心要素

一.要有信心

二.不斷壓縮問題到死角

三.多組參數(shù)實驗對比

畢竟沒有兼容所有場景的參數(shù),只有符合自己業(yè)務場景的參數(shù)調優(yōu)

附件(給大家參考借鑒,gclog中每個步驟在干什么):

[GC pause (G1 Evacuation Pause) (young), 0.0022483 secs]

young -> 年輕代 Evacuation-> 復制存活對象

[Parallel Time: 1.0 ms, GC Workers: 10] # 并發(fā)執(zhí)行的GC線程數(shù),以下階段是并發(fā)執(zhí)行的

[GC Worker Start (ms): Min: 109.0, Avg: 109.1, Max: 109.1, Diff: 0.2]

[Ext Root Scanning (ms): Min: 0.1, Avg: 0.2, Max: 0.3, Diff: 0.2, Sum: 2.3] # 外部根分區(qū)掃描

[Update RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] # 更新已記憶集合 Update RSet,檢測從年輕代指向老年代的對象

[Processed Buffers: Min: 0, Avg: 0.0, Max: 0, Diff: 0, Sum: 0]

[Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0]# RSet掃描

[Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] # 代碼根掃描

[Object Copy (ms): Min: 0.3, Avg: 0.3, Max: 0.4, Diff: 0.1, Sum: 3.5] # 轉移和回收,拷貝存活的對象到survivor/old區(qū)域

[Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] # 完成上述任務后,如果任務隊列已空,則工作線程會發(fā)起終止要求。

[Termination Attempts: Min: 1, Avg: 5.8, Max: 9, Diff: 8, Sum: 58]

[GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] # GC外部的并行活動,該部分并非GC的活動,而是JVM的活動導致占用了GC暫停時間(例如JNI編譯)。

[GC Worker Total (ms): Min: 0.5, Avg: 0.6, Max: 0.7, Diff: 0.2, Sum: 5.9]

[GC Worker End (ms): Min: 109.7, Avg: 109.7, Max: 109.7, Diff: 0.0]

[Code Root Fixup: 0.0 ms] # 串行任務,根據(jù)轉移對象更新代碼根

[Code Root Purge: 0.0 ms] #串行任務, 代碼根清理

[Clear CT: 0.5 ms] #串行任務,清除全局卡片 Card Table 標記

[Other: 0.8 ms]

[Choose CSet: 0.0 ms] # 選擇下次收集集合 CSet

[Ref Proc: 0.4 ms] # 引用處理 Ref Proc,處理軟引用、弱引用、虛引用、final引用、JNI引用

[Ref Enq: 0.0 ms] # 引用排隊 Ref Enq

[Redirty Cards: 0.3 ms] # 卡片重新臟化 Redirty Cards:重新臟化卡片

[Humongous Register: 0.0 ms]

[Humongous Reclaim: 0.0 ms] # 回收空閑巨型分區(qū) Humongous Reclaim,通過查看所有根對象以及年輕代分區(qū)的RSet,如果確定RSet中巨型對象沒有任何引用,該對象分區(qū)會被回收。

[Free CSet: 0.0 ms] # 釋放分區(qū) Free CSet

[Eden: 12288.0K(12288.0K)->0.0B(11264.0K) Survivors: 0.0B->1024.0K Heap: 12288.0K(20480.0K)->832.0K(20480.0K)]

[Times: user=0.01 sys=0.00, real=0.00 secs]

從年輕代分區(qū)拷貝存活對象時,無法找到可用的空閑分區(qū)

從老年代分區(qū)轉移存活對象時,無法找到可用的空閑分區(qū) 這兩種情況之一導致的 YGC

[GC pause (G1 Evacuation Pause) (young) (to-space exhausted), 0.0916534 secs]

并發(fā)標記周期 Concurrent Marking Cycle 中的 根分區(qū)掃描階段,被 YGC中斷

 

[GC pause (G1 Evacuation Pause) (young)[GC concurrent-root-region-scan-end, 0.0007157 secs]

 

責任編輯:武曉燕 來源: 再見伐木機
相關推薦

2017-10-13 15:16:38

Java服務GC參數(shù)

2021-05-13 08:51:20

GC問題排查

2023-10-13 12:28:38

2023-11-10 11:23:20

JVM內存

2011-09-13 15:39:00

SQL Server性能調優(yōu)

2009-11-17 13:45:12

Oracle SQL調

2015-07-14 10:34:42

ViewModel代碼高效

2010-09-25 13:05:07

JVM參數(shù)

2021-03-26 06:05:17

Tomcat

2010-03-04 10:56:52

JVM參數(shù)

2011-06-28 10:41:50

DBA

2022-12-17 19:49:37

GCJVM故障

2011-03-02 10:01:15

2017-11-17 08:56:59

Java性能優(yōu)化技巧

2023-12-12 08:00:39

2013-03-20 17:30:18

2011-03-31 13:40:34

2021-01-22 11:18:58

Python機器學習超參數(shù)

2024-03-11 08:51:08

JVMSWAP內存

2011-03-10 14:40:54

LAMPMysql
點贊
收藏

51CTO技術棧公眾號

av不卡高清| 国产毛片毛片毛片毛片毛片| 日本国产精品| 色婷婷久久综合| 日日夜夜精品网站| 99久久亚洲精品日本无码 | 亚洲成人第一| 99视频国产精品免费观看a| 亚洲经典在线| 日韩在线视频免费观看高清中文| 国产高清av片| 久久sese| 亚洲一区二区影院| 亚洲精品视频一二三| 亚洲精品字幕在线观看| 免费国产亚洲视频| 国内自拍欧美激情| 四虎影视一区二区| 日韩精品免费一区二区夜夜嗨 | 欧美大片在线影院| 99久久久无码国产精品性| 免费观看亚洲天堂| 欧美色精品天天在线观看视频| 亚洲色欲久久久综合网东京热| av在线首页| av午夜精品一区二区三区| 成人福利视频网| av片免费观看| 一本色道精品久久一区二区三区| 久热在线中文字幕色999舞| 免费观看av网站| 成人精品毛片| 日韩一区二区免费高清| 日韩大片一区二区| 欧美一级大片| 一本到不卡精品视频在线观看 | 久久影院亚洲| 久久免费视频网| 国产精品成人免费观看| 日韩在线综合| 中文国产亚洲喷潮| 中文字幕在线看高清电影| 久久aimee| 亚洲第一网中文字幕| 国产伦理在线观看| 国产精品色婷婷在线观看| 欧美日韩免费一区二区三区| 亚洲色精品三区二区一区| 欧美一级鲁丝片| 天天av天天翘天天综合网色鬼国产 | 亚洲色图久久久| 经典三级一区二区| 一本色道a无线码一区v| 激情视频综合网| free欧美| 欧美视频完全免费看| 精品久久久久久久无码| 欧美xoxoxo| 欧美中文字幕亚洲一区二区va在线| 男人天堂1024| 男人皇宫亚洲男人2020| 在线一区二区三区做爰视频网站| 草草草在线视频| 成人免费福利| 欧美人妖巨大在线| 激情图片中文字幕| 日本伊人久久| 亚洲国产精品系列| 色天使在线视频| 精品精品99| 久久精品99久久久香蕉| 91 在线视频| 欧美a级片一区| 97精品国产97久久久久久春色| 三级黄色在线视频| 日欧美一区二区| 成人观看高清在线观看免费| 精品国产九九九| 成人免费看的视频| 欧美日韩电影一区二区| 1769在线观看| 亚洲午夜av在线| 国产精品无码专区av在线播放| 国产麻豆一区| 精品久久久久一区| 永久免费看mv网站入口78| 久久社区一区| 久久久亚洲精品视频| 免费av中文字幕| 国产一区二区三区精品欧美日韩一区二区三区 | 最新不卡av在线| 国产精品成人久久电影| 欧美美女日韩| 欧美电影免费提供在线观看| 熟女少妇一区二区三区| 亚洲一区二区日韩| 欧美精品videos性欧美| 波多野结衣一区二区在线| 国产一区二三区好的| 久久久久久久免费| 久草资源在线| 色综合一区二区| 奇米777在线视频| 四虎884aa成人精品最新| 久久精品久久精品亚洲人| 草久视频在线观看| 国产在线一区观看| 欧美18视频| 久草免费在线色站| 欧美日韩美少妇| 中文字幕一区三区久久女搜查官| 999国产精品视频| 欧美一级淫片丝袜脚交| 国产成人精品一区二三区四区五区| 91美女福利视频| 久久www视频| 日韩久久99| 亚洲天天在线日亚洲洲精| 精品无码一区二区三区电影桃花| 精品一区二区三区久久久| 欧美亚洲精品日韩| 成人性生交大片免费看网站| 欧美喷潮久久久xxxxx| a级大片在线观看| 在线成人黄色| 成人h在线播放| 国产91在线视频蝌蚪| 欧美性猛片aaaaaaa做受| 国产老熟女伦老熟妇露脸| 欧美精品入口| 亚洲一区久久久| 毛片激情在线观看| 欧美日韩一区不卡| 在线观看免费小视频| 视频一区二区国产| 农村寡妇一区二区三区| 日本在线啊啊| 日韩激情av在线播放| 日本一二三区视频| 成人黄色国产精品网站大全在线免费观看| 无码人妻精品一区二区三区99v| 日本久久久久| 中文字幕免费国产精品| 中文字幕乱码中文字幕| 中文字幕不卡在线| 日韩爱爱小视频| 久久社区一区| 亚洲尤物视频网| 91精选在线| 日韩精品影音先锋| 久久久久久国产精品免费播放| 国产精品99久久久久久宅男| 国产高清免费在线| 狂野欧美xxxx韩国少妇| 欧美日本黄视频| 亚洲欧美另类一区| 五月婷婷久久丁香| 国产黄色网址在线观看| 青草av.久久免费一区| 亚洲 国产 欧美一区| 全球中文成人在线| 欧美日韩国产999| 国 产 黄 色 大 片| 午夜av一区二区三区| 公侵犯人妻一区二区三区| 免费成人av在线播放| 中文网丁香综合网| 亚洲一区二区三区免费| 欧美性受xxxx白人性爽| 国产免费永久在线观看| 5566中文字幕一区二区电影| 欧美极品视频在线观看| 99v久久综合狠狠综合久久| 日本三级免费网站| 精品日本12videosex| 亚洲xxxxx电影| sm在线播放| 国产亚洲精品成人av久久ww| 国产特黄一级片| 天天综合日日夜夜精品| 欧美福利第一页| 国产一区999| 国产老熟妇精品观看| 成人黄色小视频| av一区二区在线看| 欧美激情喷水| 欧美国产视频一区二区| 国产一级免费在线观看| 日韩欧美国产电影| 在线视频精品免费| 一区二区成人在线观看| 日本成人午夜影院| 东方aⅴ免费观看久久av| 精品国产成人av在线免| 欧美日韩福利| 快播日韩欧美| 蜜桃在线一区| 国产精品毛片a∨一区二区三区|国| 最新黄网在线观看| 亚洲网站在线播放| www三级免费| 欧美日韩一区二区三区高清| 圆产精品久久久久久久久久久| 1024国产精品| 亚洲天堂视频一区| 成人精品视频一区二区三区尤物| 男女无套免费视频网站动漫| 欧美体内she精视频在线观看| 人偷久久久久久久偷女厕| 97se亚洲国产一区二区三区| 国产精品久久久久免费a∨大胸| av手机免费在线观看| 久久精品久久久久久| 国产精品四虎| 日韩国产精品视频| 丰满少妇高潮在线观看| 67194成人在线观看| 波多野结衣高清视频| 五月天婷婷综合| 国产性生活网站| 亚洲视频小说图片| 少妇的滋味中文字幕bd| 久久久久久久综合| 五月开心播播网| 成人av在线资源| 国产高潮失禁喷水爽到抽搐 | 亚洲av片不卡无码久久| 国产成人精品三级| 国产精品久久久久久9999| 日本美女一区二区三区视频| 一本大道熟女人妻中文字幕在线| 国产在线日韩| 草草草视频在线观看| 欧美一区91| 大桥未久一区二区| 91麻豆国产自产在线观看亚洲| 色一情一区二区三区四区| 欧美人与牛zoz0性行为| 免费成人看片网址| 免费成人av| 日本成人黄色| 国产一区二区电影在线观看| 农村寡妇一区二区三区| 精品国产一区探花在线观看| 天天人人精品| 99九九热只有国产精品| 制服丝袜综合日韩欧美| 午夜精品毛片| 青青草免费在线视频观看| 综合久久99| 欧美图片激情小说| 午夜亚洲视频| 日韩福利视频在线| 久久99精品国产.久久久久久| 日韩va在线观看| 久久爱另类一区二区小说| 天天干天天色天天干| 国产一区二区三区四| 在线成人免费av| 成人av在线资源网站| 国产人妻一区二区| 国产蜜臀97一区二区三区| 国内精品卡一卡二卡三| 中文字幕在线观看一区二区| 日韩一级片av| 婷婷久久综合九色综合伊人色| 800av免费在线观看| 欧美亚洲丝袜传媒另类| 国产乱淫av片免费| 精品国产sm最大网站免费看| 男人的天堂在线免费视频| 一本一本久久a久久精品综合小说| 久草中文在线| 亚洲**2019国产| 欧美一区久久久| 91在线观看免费高清| 精品av导航| 视频一区在线免费观看| 久久精品免费一区二区三区| 国产二区视频在线| 久久精品伊人| 日本中文字幕在线不卡| 99国内精品久久| 激情高潮到大叫狂喷水| 午夜电影网亚洲视频| 一本一道精品欧美中文字幕| 精品久久久三级丝袜| 成年人在线观看| 久久久久久久国产| 亚洲精品粉嫩美女一区| 99在线观看| 日韩精品网站| 女人和拘做爰正片视频| 精品一区二区三区在线观看国产| 日本一区二区在线免费观看| 国产精品麻豆久久久| www..com国产| 欧美福利视频导航| 欧美一区二区三区少妇| 欧美激情视频在线| 成人精品国产亚洲| 精品综合在线| 亚洲影视一区二区三区| chinese少妇国语对白| 成人av在线播放网站| 国产午夜手机精彩视频| 在线视频欧美精品| 天天摸天天干天天操| 久热精品视频在线观看| 欧美日韩尤物久久| 久久久久久国产精品免费免费| 中文字幕一区二区三区乱码图片| 国产天堂在线播放| av电影天堂一区二区在线| 国产少妇在线观看| 欧美日韩国产一级片| 高清性色生活片在线观看| 欧美亚洲视频在线观看| 成人三级av在线| 伊人再见免费在线观看高清版| 蜜臀av一区二区| 欧美日韩高清丝袜| 狠狠干狠狠久久| 人妻一区二区三区四区| 欧美高清在线观看| av在线国产精品| 一本久道久久综合| 久热re这里精品视频在线6| 欧洲一级黄色片| 亚洲.国产.中文慕字在线| www.亚洲天堂.com| 久久精品99久久久久久久久 | av手机免费在线观看| 国产精品国产三级欧美二区 | 欧美夫妻性生活视频| 96视频在线观看欧美| 在线观看成人av电影| 美日韩一区二区三区| 国产综合精品在线| 91福利在线看| 岛国在线视频免费看| 国产精品极品在线| 成人3d动漫在线观看| 亚洲免费看av| 国产精品你懂的在线欣赏| 在线中文字幕网站| 日韩中文av在线| www久久久| 中文字幕乱码免费| 国产福利精品导航| 日本少妇性生活| 亚洲精品国产免费| 欧美日韩视频免费观看| 亚洲美女网站18| 韩国v欧美v日本v亚洲v| 校园春色 亚洲| 亚洲国产精品va在线看黑人| а√在线中文在线新版| 欧美精品一区二区三区四区五区| 日韩av不卡在线观看| 国产三级aaa| 日韩一区二区三免费高清| av2020不卡| 任我爽在线视频精品一| 经典三级在线一区| 精品肉丝脚一区二区三区| 日韩激情第一页| 男人天堂久久| 久久久久久久9| 久久综合国产精品| 中文天堂在线视频| 欧美成人sm免费视频| 秋霞影视一区二区三区| 午夜视频你懂的| 一区二区三区在线免费观看| 五月天激情开心网| 国产精品久久久久久久久久尿| 99久久夜色精品国产亚洲96 | 亚洲国产精品v| aa视频在线免费观看| 91chinesevideo永久地址| 成人免费看片39| 国产欧美视频一区| 色婷婷国产精品| av在线网址观看| 欧美污视频久久久| 国产成人午夜片在线观看高清观看| 五月婷婷开心网| 日韩最新av在线| 欧美重口另类| 亚洲综合在线一区二区| 欧美日韩中文在线| 国产黄网站在线观看| 久久久久久高清| 国产精选一区二区三区| 五月天婷婷导航| 欧美极品在线视频| 日韩国产专区| 五级黄高潮片90分钟视频| 欧美一区二区免费观在线|