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

一次線上JVM GC 長暫停排查,加班搞了好久

開發(fā) 前端
JVM進行GC時,需要對對應(yīng)堆分區(qū)的已用內(nèi)存進行遍歷,假如GC的時候,有堆的一部分內(nèi)容被交換到swap中,遍歷到這部分的時候就須要將其交換回內(nèi)存;更極端情況同一時刻因為內(nèi)存空間不足,就需要把內(nèi)存中堆的另外一部分換到SWAP中去,于是在遍歷堆分區(qū)的過程中,會把整個堆分區(qū)輪流往SWAP寫一遍,導致GC時間超長。

背景

在高并發(fā)下,Java程序的GC問題屬于很典型的一類問題,帶來的影響往往會被進一步放大。不管是「GC頻率過快」還是「GC耗時太長」,由于GC期間都存在Stop The World問題,因此很容易導致服務(wù)超時,引發(fā)性能問題。

事情最初是線上某應(yīng)用垃圾收集出現(xiàn)Full GC異常的現(xiàn)象,應(yīng)用中個別實例Full GC時間特別長,持續(xù)時間約為15~30秒,平均每2周左右觸發(fā)一次;

圖片圖片

圖片圖片

JVM參數(shù)配置:

-Xms2048M –Xmx2048M –Xmn1024M –XX:MaxPermSize=512M

圖片圖片

排查過程

分析 GC 日志

GC 日志它記錄了每一次的 GC 的執(zhí)行時間和執(zhí)行結(jié)果,通過分析 GC 日志可以調(diào)優(yōu)堆設(shè)置和 GC 設(shè)置,或者改進應(yīng)用程序的對象分配模式。

這里Full GC的reason是Ergonomics,是因為開啟了UseAdaptiveSizePolicy,jvm自己進行自適應(yīng)調(diào)整引發(fā)的Full GC。

這份日志主要體現(xiàn)GC前后的變化,目前為止看不出個所以然來。

圖片圖片

開啟GC日志,需要添加如下 JVM 啟動參數(shù):

-XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:/export/log/risk_pillar/gc.log

常見的 Young GC、Full GC 日志含義如下:

圖片圖片

進一步查看服務(wù)器性能指標

獲取到了GC耗時的時間后,通過監(jiān)控平臺獲取到各個監(jiān)控項,開始排查這個時點有異常的指標,最終分析發(fā)現(xiàn),在5.06分左右(GC的時點),CPU占用顯著提升,而SWAP出現(xiàn)了釋放資源、memory資源增長出現(xiàn)拐點的情況(詳見下圖紅色框,橙色框中的變化是因修改配置導致,后面會介紹,暫且可忽略)

圖片圖片

JVM用到了swap?

是因為GC導致的CPU突然飆升,并且釋放了swap交換區(qū)這部分內(nèi)存到memory?

為了驗證JVM是否用到swap,我們通過檢查proc下的進程內(nèi)存資源占用情況

for i in (cd/proc;ls∣grep"[0?9]"∣awk′0 >100');
do awk '/Swap:/{a=a+2}END{print '"i"',a/1024"M"}' /proc/$i/smaps 2>/dev/null;
done | sort -k2nr | head -10 

# head -10 表示 取出 前10個內(nèi)存占用高的進程 
# 取出的第一列為進程的id 第二列進程占用swap大小

看到確實有用到305MB的swap

圖片圖片

這里簡單介紹下什么是swap?

swap指的是一個交換分區(qū)或文件,主要是在內(nèi)存使用存在壓力時,觸發(fā)內(nèi)存回收,這時可能會將部分內(nèi)存的數(shù)據(jù)交換到swap空間,以便讓系統(tǒng)不會因為內(nèi)存不夠用而導致oom或者更致命的情況出現(xiàn)。

當某進程向OS請求內(nèi)存發(fā)現(xiàn)不足時,OS會把內(nèi)存中暫時不用的數(shù)據(jù)交換出去,放在swap分區(qū)中,這個過程稱為swap out。

當某進程又需要這些數(shù)據(jù)且OS發(fā)現(xiàn)還有空閑物理內(nèi)存時,又會把swap分區(qū)中的數(shù)據(jù)交換回物理內(nèi)存中,這個過程稱為swap in。

為了驗證GC耗時與swap操作有必然關(guān)系,我抽查了十幾臺機器,重點關(guān)注耗時長的GC日志,通過時間點確認到GC耗時的時間點與swap操作的時間點確實是一致的。

進一步查看虛擬機各實例 swappiness 參數(shù),一個普遍現(xiàn)象是,凡是發(fā)生較長Full GC的實例都配置了參數(shù) vm.swappiness = 30(值越大表示越傾向于使用swap);而GC時間相對正常的實例配置參數(shù) vm.swappiness = 0(最大限度地降低使用swap)。

swappiness 可以設(shè)置為 0 到 100 之間的值,它是Linux的一個內(nèi)核參數(shù),控制系統(tǒng)在進 行swap時,內(nèi)存使用的相對權(quán)重。

  • swappiness=0: 表示最大限度使用物理內(nèi)存,然后才是 swap空間
  • swappiness=100: 表示積極的使用swap分區(qū),并且把內(nèi)存上的數(shù)據(jù)及時的交換到swap空間里面

圖片圖片

圖片圖片

對應(yīng)的物理內(nèi)存使用率和swap使用情況如下

圖片圖片

圖片圖片

至此,矛頭似乎都指向了swap。

問題分析

當內(nèi)存使用率達到水位線(vm.swappiness)時,linux會把一部分暫時不使用的內(nèi)存數(shù)據(jù)放到磁盤swap去,以便騰出更多可用內(nèi)存空間;

當需要使用位于swap區(qū)的數(shù)據(jù)時,再將其換回內(nèi)存中,當JVM進行GC時,需要對相應(yīng)堆分區(qū)的已用內(nèi)存進行遍歷;

假如GC的時候,有堆的一部分內(nèi)容被交換到swap空間中,遍歷到這部分的時候就需要將其交換回內(nèi)存,由于需要訪問磁盤,所以相比物理內(nèi)存,它的速度肯定慢的令人發(fā)指,GC停頓的時間一定會非常非常恐怖;

進而導致Linux對swap分區(qū)的回收滯后(內(nèi)存到磁盤換入換出操作十分占用CPU與系統(tǒng)IO),在高并發(fā)/QPS服務(wù)中,這種滯后帶來的結(jié)果是致命的(STW)。

問題解決

至此,答案似乎很清晰,我們只需嘗試把swap關(guān)閉或釋放掉,看看能否解決問題?

如何釋放swap?

設(shè)置vm.swappiness=0(重啟應(yīng)用釋放swap后生效),表示盡可能不使用交換內(nèi)存

方案 a:臨時設(shè)置方案,重啟后不生效

  1. 設(shè)置vm.swappiness為0,sysctl vm.swappiness=0
  2. 查看swappiness值,cat /proc/sys/vm/swappiness

方案b:永久設(shè)置方案,重啟后仍然生效

  1. vi /etc/sysctl.conf
  2. 關(guān)閉交換分區(qū)swapoff –a(前提:首先要保證內(nèi)存剩余要大于等于swap使用量,否則會報Cannot allocate memory!swap分區(qū)一旦釋放,所有存放在swap分區(qū)的文件都會轉(zhuǎn)存到物理內(nèi)存上,可能會引發(fā)系統(tǒng)IO或者其他問題。)

查看當前swap分區(qū)掛載在哪:

圖片圖片

關(guān)停分區(qū):

圖片圖片

關(guān)閉swap交換區(qū)后的內(nèi)存變化見下圖橙色框,此時swap分區(qū)的文件都轉(zhuǎn)存到了物理內(nèi)存上

圖片圖片

關(guān)閉Swap交換區(qū)后,于2.23再次發(fā)生Full GC,耗時190ms,問題得到解決。

圖片圖片

疑惑

  1. 是不是只要開啟了swap交換區(qū)的JVM,在GC的時候都會耗時較長呢?
  2. 既然JVM對swap如此不待見,為何JVM不明令禁止使用呢?
  3. swap工作機制是怎樣的?這臺物理內(nèi)存為8g的server,使用了交換區(qū)內(nèi)存(swap),說明物理內(nèi)存不夠使用了,但是通過free命令查看內(nèi)存使用情況,實際物理內(nèi)存似乎并沒有占用那么多,反而Swap已占近1G?

圖片圖片

free:除了buff/cache剩余了多少內(nèi)存

shared:共享內(nèi)存

buff/cache:緩沖、緩存區(qū)內(nèi)存數(shù)(使用過高通常是程序頻繁存取文件)

available:真實剩余的可用內(nèi)存數(shù)

進一步思考

大家可以想想,關(guān)閉交換磁盤緩存意味著什么?

其實大可不必如此激進,要知道這個世界永遠不是非0即1的,大家都會或多或少選擇走在中間,不過有些偏向0,有些偏向1而已。

很顯然,在swap這個問題上,JVM可以選擇偏向盡量少用,從而降低swap影響,要降低swap影響有必要弄清楚Linux內(nèi)存回收是怎么工作的,這樣才能不遺漏任何可能的疑點。

先來看看swap是如何觸發(fā)的?

Linux會在兩種場景下觸發(fā)內(nèi)存回收,一種是在內(nèi)存分配時發(fā)現(xiàn)沒有足夠空閑內(nèi)存時會立刻觸發(fā)內(nèi)存回收;另一種是開啟了一個守護進程(kswapd進程)周期性對系統(tǒng)內(nèi)存進行檢查,在可用內(nèi)存降低到特定閾值之后主動觸發(fā)內(nèi)存回收。

通過如下圖示可以很容易理解,詳細信息參見:http://hbasefly.com/2017/05/24/hbase-linux/

圖片

是不是只要開啟了swap交換區(qū)的JVM,在GC的時候都會耗時較長?

筆者去查了一下另外的一個應(yīng)用,相關(guān)指標信息請見下圖。

實名服務(wù)的QPS是非常高的,同樣能看到應(yīng)用了swap,GC平均耗時 576ms,這是為什么呢?

圖片圖片

圖片圖片

通過把時間范圍聚焦到發(fā)生GC的某一時間段,從監(jiān)控指標圖可以看到swapUsed沒有任何變化,也就是說沒有swap活動,進而沒有影響到垃級回收的總耗時。

圖片圖片

圖片圖片

通過如下命令列舉出各進程swap空間占用情況,很清楚的看到實名這個服務(wù)swap空間占用的較少(僅54.2MB)

圖片圖片

另一個顯著的現(xiàn)象是實名服務(wù)Full GC間隔較短(幾個小時一次),而我的服務(wù)平均間隔2周一次Full GC

圖片圖片

圖片圖片

基于以上推測

  1. 實名服務(wù)由于 GC 間隔較短,內(nèi)存中的東西根本沒有機會置換到swap中就被回收了,GC的時候不需要將swap分區(qū)中的數(shù)據(jù)交換回物理內(nèi)存中,完全基于內(nèi)存計算,所以要快很多
  2. 將哪些內(nèi)存數(shù)據(jù)置換進swap交換區(qū)的篩選策略應(yīng)該是類似于LRU算法(最近最少使用原則)

為了證實上述猜測,我們只需跟蹤swap變更日志,監(jiān)控數(shù)據(jù)變化即可得到答案,這里采用一段shell 腳本實現(xiàn)

#!/bin/bash 
echo -e `date +%y%m%d%H%M%S` 
echo -e "PID\t\tSwap\t\tProc_Name" 

#拿出/proc目錄下所有以數(shù)字為名的目錄(進程名是數(shù)字才是進程,其他如sys,net等存放的是其他信息) 
for pid in `ls -l /proc | grep ^d | awk '{ print $9 }'| grep -v [^0-9]` 
do 
    if [ $pid -eq 1 ];then continue;fi 
    grep -q "Swap" /proc/$pid/smaps 2>/dev/null 
    if [ $? -eq 0 ];then 
        swap=$(gawk '/Swap/{ sum+=$2;} END{ print sum }' /proc/$pid/smaps) #統(tǒng)計占用的swap分區(qū)的 大小 單位是KB 
        proc_name=$(ps aux | grep -w "$pid" | awk '!/grep/{ for(i=11;i<=NF;i++){ printf("%s ",$i); }}') #取出進程的名字 
        if [ $swap -gt 0 ];then #判斷是否占用swap 只有占用才會輸出 
            echo -e "${pid}\t${swap}\t${proc_name:0:100}" 
    fi 
   fi
done | sort -k2nr | head -10 | gawk -F'\t' '{ #排序取前 10 
    pid[NR]=$1; 
    size[NR]=$2; 
    name[NR]=$3; 
} 
END{ 
    for(id=1;id<=length(pid);id++) 
    { 
    if(size[id]<1024) 
        printf("%-10s\t%15sKB\t%s\n",pid[id],size[id],name[id]); 
    else if(size[id]<1048576) 
        printf("%-10s\t%15.2fMB\t%s\n",pid[id],size[id]/1024,name[id]);
    else 
    printf("%-10s\t%15.2fGB\t%s\n",pid[id],size[id]/1048576,name[id]); 
    } 
}

由于上面圖中 2022.3.2 19:57:00 至 2022.3.2 19:58:00 發(fā)生了一次Full GC,我們重點關(guān)注下這一分鐘內(nèi)swap交換區(qū)的變化即可,我這里每10s做一次信息采集,可以看到在GC時點前后,swap確實沒有變化

圖片圖片

通過上述分析,回歸本文核心問題上,現(xiàn)在看來我的處理方式過于激進了,其實也可以不用關(guān)閉swap,通過適當降低堆大小,也是能夠解決問題的。

這也側(cè)面的說明,部署Java服務(wù)的Linux系統(tǒng),在內(nèi)存分配上并不是無腦大而全,需要綜合考慮不同場景下JVM對Java永久代 、Java堆(新生代和老年代)、線程棧、Java NIO所使用內(nèi)存的需求。

總結(jié)

綜上,我們得出結(jié)論,swap和GC同一時候發(fā)生會導致GC時間非常長,JVM嚴重卡頓,極端的情況下會導致服務(wù)崩潰。

主要原因是:JVM進行GC時,需要對對應(yīng)堆分區(qū)的已用內(nèi)存進行遍歷,假如GC的時候,有堆的一部分內(nèi)容被交換到swap中,遍歷到這部分的時候就須要將其交換回內(nèi)存;更極端情況同一時刻因為內(nèi)存空間不足,就需要把內(nèi)存中堆的另外一部分換到SWAP中去,于是在遍歷堆分區(qū)的過程中,會把整個堆分區(qū)輪流往SWAP寫一遍,導致GC時間超長。線上應(yīng)該限制swap區(qū)的大小,如果swap占用比例較高應(yīng)該進行排查和解決,適當?shù)臅r候可以通過降低堆大小,或者添加物理內(nèi)存。

因此,部署Java服務(wù)的Linux系統(tǒng),在內(nèi)存分配上要慎重。

責任編輯:武曉燕 來源: JAVA日知錄
相關(guān)推薦

2022-12-17 19:49:37

GCJVM故障

2021-05-13 08:51:20

GC問題排查

2019-09-10 10:31:10

JVM排查解決

2023-01-04 18:32:31

線上服務(wù)代碼

2021-11-23 21:21:07

線上排查服務(wù)

2022-08-01 20:29:48

分布式架構(gòu)數(shù)據(jù)

2020-08-27 21:36:50

JVM內(nèi)存泄漏

2021-05-31 10:08:44

工具腳本主機

2019-04-15 13:15:12

數(shù)據(jù)庫MySQL死鎖

2025-03-17 10:01:07

2025-03-24 08:51:16

2023-04-06 07:53:56

Redis連接問題K8s

2019-06-24 08:17:55

CPUFullGCJava

2024-10-10 15:32:51

2019-03-15 16:20:45

MySQL死鎖排查命令

2017-12-19 14:00:16

數(shù)據(jù)庫MySQL死鎖排查

2025-03-11 08:48:35

JVMOOM事故

2021-03-29 12:35:04

Kubernetes環(huán)境TCP

2022-11-03 16:10:29

groovyfullGC

2019-01-21 11:17:13

CPU優(yōu)化定位
點贊
收藏

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

无码人妻丰满熟妇区毛片| 91最新在线免费观看| 9.1成人看片免费版| 免费视频观看成人| 一区二区三区四区不卡在线| 久久草.com| 6—12呦国产精品| 一区在线免费| 中文字幕日韩精品有码视频| 亚洲AV无码久久精品国产一区| 国产羞羞视频在线播放| 国产suv精品一区二区四区视频| 国产成人精选| 久久精品夜色噜噜亚洲aⅴ| 91久久嫩草影院一区二区| 日韩三级一区二区三区| 99精品在线| 日韩av中文字幕在线| 在线免费黄色网| 伊人久久在线| 一区二区三区欧美| 亚洲一卡二卡三卡| 色在线免费视频| 精品一区二区三区在线观看国产 | 又色又爽又黄18网站| 成人性生活视频| 亚洲免费成人av| 日本免费一区二区三区| 色窝窝无码一区二区三区| 精品一区二区三区在线观看国产| 日本国产精品视频| www.av视频在线观看| 亚洲国产精品久久久天堂 | 国产aa精品| thepron国产精品| 成人做爰www免费看视频网站| www.毛片.com| 在线观看亚洲| 欧美激情按摩在线| 久久人妻无码aⅴ毛片a片app | 午夜精品一区二区三区在线观看| 日韩一级片免费观看| 激情深爱一区二区| 国产精品男人的天堂| 欧美日韩综合在线观看| 欧美日本国产| 欧美成人精品一区| 成年人免费视频播放| 国产剧情在线观看一区| 精品一区精品二区| 久久99热精品| 玖玖玖精品中文字幕| 国产乱码久久久| 日本亚洲免费观看| 国产精品aaa| 天堂网免费视频| 亚洲欧美久久久| 97视频在线观看亚洲| 国产大片中文字幕| 伊人久久大香线蕉综合热线 | 亚洲精品一区二区在线看| 亚洲视屏在线播放| 制服 丝袜 综合 日韩 欧美| 深爱激情综合网| 亚洲深夜福利视频| 免费黄色片网站| 日韩免费在线| 久久精品国产亚洲精品| 天天操天天操天天操天天操天天操| 国产精品91一区二区三区| 色七七影院综合| 久久精品日韩无码| 欧美日韩一区自拍| 国内揄拍国内精品| 91九色丨porny丨肉丝| 日韩中文欧美在线| 91精品国产综合久久男男| 国产日韩在线观看一区| 丰满少妇久久久久久久| 麻豆成人小视频| 爱久久·www| 18成人在线观看| av女优在线播放| 丁香六月综合| 制服丝袜亚洲网站| 95视频在线观看| 国内黄色精品| 欧美大尺度在线观看| 成人毛片18女人毛片| 日日噜噜夜夜狠狠视频欧美人| 国产综合久久久久久| 黑人精品一区二区三区| 国产亚洲精品福利| 91精品国产吴梦梦| 青青青免费在线视频| 欧美日韩一区二区欧美激情| 亚洲欧美激情一区二区三区| 在线成人动漫av| 欧美超级乱淫片喷水| 亚洲熟女综合色一区二区三区| 精品一区二区三区在线观看| 国产专区一区二区| 日本最新在线视频| 欧美日韩美女在线观看| 午夜免费福利在线| 国产一区调教| 久久精品国产欧美激情| 日本特黄特色aaa大片免费| 日韩极品在线观看| 国产伦精品一区二区| 日本a级在线| 一本色道久久综合狠狠躁的推荐 | 欧洲美女精品免费观看视频 | 精品久久香蕉国产线看观看gif| 超碰在线播放91| 国产一区丝袜| 美女视频黄免费的亚洲男人天堂| 黑人精品无码一区二区三区AV| 国产一区二区三区精品欧美日韩一区二区三区| 精品日韩美女| 超碰个人在线| 欧美性一级生活| 日韩免费高清一区二区| 欧美成人一品| 国产精品一区二区电影| 日韩av高清在线| 亚洲国产一区二区在线播放| 国产一级片自拍| 欧美热在线视频精品999| 久久久久久噜噜噜久久久精品| 中文字幕欧美人妻精品一区蜜臀| 99riav一区二区三区| 日韩成人手机在线| 欧美精品影院| 久久精品国产精品| 亚洲天堂avav| 亚洲国产精品精华液2区45| 欧美一区二区三区爽大粗免费| 中文字幕区一区二区三| 久久视频在线直播| 亚洲一区中文字幕在线| 国产精品美女久久久久高潮| 亚洲三级视频网站| 精品视频日韩| 国产成人在线播放| 猫咪在线永久网站| 色94色欧美sute亚洲线路一久 | 97超碰国产在线| 国产精品美女视频| 777视频在线| 97精品视频| 91精品国产综合久久香蕉| 在线观看免费黄色| 欧美精品粉嫩高潮一区二区| 亚洲熟女毛茸茸| 激情六月婷婷综合| 亚洲国产精品女人| 日本综合精品一区| 欧美激情2020午夜免费观看| 亚洲a视频在线观看| 亚洲一区二区三区中文字幕 | 成人自拍在线| 国内精品久久久久影院优| 免费a级片在线观看| 亚洲成a人片综合在线| 在线免费观看污视频| 美女诱惑黄网站一区| 亚洲福利av在线| 欧美亚洲黄色| 俺去亚洲欧洲欧美日韩| 99久久久国产精品无码网爆| 亚洲一区国产视频| 日本一级片在线播放| 日韩国产精品久久久久久亚洲| 亚洲精品国产一区| 日韩欧美一级| 国语对白做受69| 可以直接在线观看的av| 欧美日韩精品一区二区三区四区 | 午夜激情综合网| 久久成人激情视频| 九九国产精品视频| 日韩精品视频在线观看视频| 精品中文字幕一区二区三区av| 国产精品久久久久久影视 | 欧美激情在线狂野欧美精品| 天天操天天射天天| 在线区一区二视频| 欧美成人手机视频| 久久人人97超碰com| 午夜啪啪小视频| 亚洲电影成人| 杨幂一区欧美专区| 超碰cao国产精品一区二区| 国产精品激情av电影在线观看| 91最新在线视频| 亚洲精品自拍第一页| 国产又黄又大又爽| 日韩欧美视频一区二区三区| 成人做爰69片免网站| 波多野结衣中文一区| 韩国中文字幕av| 亚洲精品社区| 中国黄色录像片| 神马电影久久| 国产精品亚洲综合| 日韩欧国产精品一区综合无码| 国内精品久久久久影院优| 欧美成人hd| 日韩国产精品亚洲а∨天堂免| 国产乱子伦精品无码码专区| 日韩欧美国产视频| 欧美三级小视频| 国产精品美女久久久久久2018| 天堂www中文在线资源| 激情图片小说一区| 亚洲综合在线网站| 99视频一区| 青青草视频在线视频| 成人羞羞网站入口免费| 激情久久av| 亚洲不卡视频| 国产日韩在线亚洲字幕中文| 美女100%一区| 91爱视频在线| 丁香花在线高清完整版视频| 最新的欧美黄色| 国产中文字幕在线播放| 日韩电视剧免费观看网站| 精品人妻少妇嫩草av无码专区| 欧美三级视频在线观看| 欧美a视频在线观看| 精品欧美国产一区二区三区| 久久久香蕉视频| 亚洲精品乱码久久久久久久久| 波多野结衣久久久久| 中文在线免费一区三区高中清不卡| 泷泽萝拉在线播放| 99久久精品99国产精品| 中国免费黄色片| 成人黄色综合网站| 中国黄色片视频| 成人妖精视频yjsp地址| 国产无套精品一区二区三区| 国产精品一区二区三区99| 亚洲这里只有精品| 美女视频黄a大片欧美| 天天色综合社区| 免费在线观看日韩欧美| 久久99999| 美女诱惑一区二区| 天堂在线一区二区三区| 国内精品国产三级国产a久久| 激情文学亚洲色图| 国产在线播放一区二区三区| 超碰人人草人人| 国产真实乱子伦精品视频| 樱花草www在线| 粉嫩欧美一区二区三区高清影视| 91超薄肉色丝袜交足高跟凉鞋| 粉嫩13p一区二区三区| 国产伦精品一区二区三区88av| 成人小视频免费在线观看| 国产高清成人久久| 久久伊人中文字幕| 亚洲色图 激情小说| 国产精品久久国产精麻豆99网站| 免费在线观看a级片| 亚洲六月丁香色婷婷综合久久| 99精品久久久久| 香蕉av福利精品导航| 欧产日产国产69| 欧美日韩一区 二区 三区 久久精品| 国产一区二区在线视频聊天| 6080yy午夜一二三区久久| 成人1区2区3区| 日韩hd视频在线观看| av中文字幕在线| 蜜臀久久99精品久久久无需会员| 欧美aaaaaaa| 日韩免费不卡av| 99久久这里有精品| 国产偷久久久精品专区| 国产成人手机高清在线观看网站| 一区二区三区av| 亚洲高清在线| 五月婷婷深爱五月| 国产不卡一区视频| 欧美狂猛xxxxx乱大交3| 自拍偷拍欧美精品| 亚洲精品www久久久久久| 精品视频免费在线| 亚洲国产精品国自产拍久久| 亚洲图片欧洲图片av| 成人福利片网站| 青青草成人在线| 国产精品色婷婷在线观看| 精品国产一区二区三区四区vr| 日韩精品一区二区三区免费观看| 亚洲精品无码国产| 老司机精品视频在线| 色婷婷精品久久二区二区密| 日韩一区在线播放| 日韩欧美在线观看免费| 日韩精品最新网址| h视频网站在线观看| 久久久久久久久久久久av| 免费一区二区三区四区| 欧美日韩国产综合视频在线| 国内精品99| 中文字幕国产免费| 久久综合精品国产一区二区三区| 亚洲成人生活片| 欧美日韩在线直播| 毛片免费在线播放| 国外成人性视频| 一区二区三区欧洲区| 亚洲人成人77777线观看| 免费在线日韩av| av av在线| 亚洲最色的网站| 91麻豆成人精品国产| 亚洲欧洲偷拍精品| 美女av在线免费看| 国产精品日本一区二区| 亚洲综合婷婷| 在线视频观看91| 亚洲国产精品黑人久久久| 日韩精品一区二区亚洲av| 亚洲国产三级网| 丰乳肥臀在线| 99在线观看视频| 欧美在线亚洲| 欧美体内she精高潮| 中文字幕一区二区视频| 国产在线一级片| 亚洲性视频网站| 毛片无码国产| 日本成人三级| 天堂一区二区在线| av男人的天堂av| 91成人免费电影| 国产中文字幕在线观看| 国产精品极品美女在线观看免费| 欧美久久精品| 日本精品一区在线观看| www.日韩精品| 日韩欧美一区二区一幕| 欧美精品一区二区三区在线播放| 色图在线观看| 国产精品一区二区你懂得| 亚洲国产激情| 网站免费在线观看| 欧美日韩亚洲国产一区| 蜜桃视频在线播放| 国产精品99久久久久久www| 成人a'v在线播放| 天天干天天玩天天操| 国产精品乱码人人做人人爱| 一级特黄色大片| 欧美大胆在线视频| 久久99精品国产自在现线| 欧美日韩在线一| 久久久另类综合| 怡红院成永久免费人全部视频| 日韩在线视频导航| 国产区一区二| 久久这里只有精品18| 99re热这里只有精品视频| 欧美日韩a v| 久久久精品一区二区| www国产精品| 日韩av一二三四| 亚洲免费观看高清完整版在线 | 一本一道久久a久久精品综合 | 国产精品偷伦免费视频观看的| 91嫩草亚洲精品| 无码人妻一区二区三区一| 亚洲国产精品视频| 国产在线日本| 成人做爽爽免费视频| 天天爱天天操天天干| 国产成人av网站| 欧美一级特黄视频| 日韩一级黄色av| 波多野结衣欧美| 亚州精品一二三区| 亚洲国产一区二区视频| 国产免费av在线| 99视频网站| 蜜臀精品久久久久久蜜臀| 欧美高清视频一区二区三区| 日韩美女av在线| 日本一区二区三区电影免费观看| 欧美 日韩 国产在线观看| 成人欧美一区二区三区在线播放| 亚洲日本国产精品| 亚洲自拍偷拍在线| 久久蜜桃精品| 久久午夜无码鲁丝片午夜精品|