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

給我1萬(wàn)字,也講Java不清內(nèi)存排查。1萬(wàn)不行來(lái)2萬(wàn)~.~

開(kāi)發(fā) 后端
對(duì)于內(nèi)存問(wèn)題排查來(lái)說(shuō),搞理論的痛苦,搞實(shí)踐的也痛苦,沒(méi)有一片清凈之地。

[[337132]]

本文轉(zhuǎn)載自微信公眾號(hào)「小姐姐味道」,可以通過(guò)以下二維碼關(guān)注。轉(zhuǎn)載本文請(qǐng)聯(lián)系小姐姐味道公眾號(hào)。

對(duì)于內(nèi)存問(wèn)題排查來(lái)說(shuō),搞理論的痛苦,搞實(shí)踐的也痛苦,沒(méi)有一片清凈之地。

why?因?yàn)閮?nèi)存溢出是Java碼農(nóng)永遠(yuǎn)的傷。

溢出有很多種解釋,有精滿自溢,有緩沖區(qū)溢出攻擊,還有另外一種叫做領(lǐng)導(dǎo)的溢出。不知道什么叫作溢出理論,xjjdog在此普及一下。

《領(lǐng)導(dǎo)看了會(huì)炸毛的溢出理論》

內(nèi)存溢出什么最重要?其實(shí),內(nèi)存溢出就像是一場(chǎng)交通事故。事故的發(fā)生方,就是具體的服務(wù);事故的處理方,就是相關(guān)的程序員。其中有一個(gè)最重要的環(huán)節(jié),就是在事故現(xiàn)場(chǎng)需要拍照取證。

如果沒(méi)有照片沒(méi)有行車記錄儀沒(méi)有證據(jù),就只能靠那張嘴,怎么說(shuō)都是不可信的。

**這句話很重要很重要:內(nèi)存問(wèn)題排查什么最重要?當(dāng)然是信息收集,留下一些為我們的排查提供支持的依據(jù)。**千萬(wàn)不要舍本逐末,對(duì)內(nèi)存問(wèn)題排查本身感興趣,那是自虐行為。

有很多工具可以幫助我們定位問(wèn)題,但前提是你得把它留下來(lái)。下面這篇文章是xjjdog很久之前留下來(lái)的,由于標(biāo)題的緣故,你可能忽略了,但這些工具能夠快速幫我們定位問(wèn)題。

  1. ss -antp > $DUMP_DIR/ss.dump 2>&1 
  2. netstat -s > $DUMP_DIR/netstat-s.dump 2>&1 
  3. top -Hp $PID -b -n 1 -c >  $DUMP_DIR/top-$PID.dump 2>&1 
  4. sar -n DEV 1 2 > $DUMP_DIR/sar-traffic.dump 2>&1 
  5. lsof -p $PID > $DUMP_DIR/lsof-$PID.dump 
  6. iostat -x > $DUMP_DIR/iostat.dump 2>&1 
  7. free -h > $DUMP_DIR/free.dump 2>&1 
  8. jstat -gcutil $PID > $DUMP_DIR/jstat-gcutil.dump 2>&1 
  9. jstack $PID > $DUMP_DIR/jstack.dump 2>&1 
  10. jmap -histo $PID > $DUMP_DIR/jmap-histo.dump 2>&1 
  11. jmap -dump:format=b,file=$DUMP_DIR/heap.bin $PID > /dev/null  2>&1 

GC日志配置

但并不是每次出現(xiàn)故障,你都在機(jī)器的身邊。靠人工也不能保證實(shí)時(shí)性。所以,強(qiáng)烈建議你把GC日志輸出的詳細(xì)一些,那么出現(xiàn)問(wèn)題的時(shí)候就舒坦一些。

實(shí)際上,這個(gè)要求在我看來(lái)是強(qiáng)制的。

很多同學(xué)上來(lái)就說(shuō),我的內(nèi)存溢出了。但你和它要一些日志信息,要堆棧,要現(xiàn)場(chǎng)保存的快照。都沒(méi)有。這就是純粹來(lái)搞笑的。

下面是JDK8或者以下的GC日志參數(shù),可以看到還是很長(zhǎng)的。

  1. #!/bin/sh 
  2. LOG_DIR="/tmp/logs" 
  3. JAVA_OPT_LOG=" -verbose:gc" 
  4. JAVA_OPT_LOG="${JAVA_OPT_LOG} -XX:+PrintGCDetails" 
  5. JAVA_OPT_LOG="${JAVA_OPT_LOG} -XX:+PrintGCDateStamps" 
  6. JAVA_OPT_LOG="${JAVA_OPT_LOG} -XX:+PrintGCApplicationStoppedTime" 
  7. JAVA_OPT_LOG="${JAVA_OPT_LOG} -XX:+PrintTenuringDistribution" 
  8. JAVA_OPT_LOG="${JAVA_OPT_LOG} -Xloggc:${LOG_DIR}/gc_%p.log" 
  9.  
  10. JAVA_OPT_OOM=" -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=${LOG_DIR} -XX:ErrorFile=${LOG_DIR}/hs_error_pid%p.log " 
  11.  
  12. JAVA_OPT="${JAVA_OPT_LOG} ${JAVA_OPT_OOM}" 
  13. JAVA_OPT="${JAVA_OPT} -XX:-OmitStackTraceInFastThrow" 

下面是JDK9及其以上的日志配置。可以看到它的配置方式全變了,而且不向下兼容。Java搞的這個(gè)變化還是挺蛋疼的。

  1. #!/bin/sh 
  2.  
  3. LOG_DIR="/tmp/logs" 
  4. JAVA_OPT_LOG=" -verbose:gc" 
  5. JAVA_OPT_LOG="${JAVA_OPT_LOG} -Xlog:gc,gc+ref=debug,gc+heap=debug,gc+age=trace:file=${LOG_DIR}/gc_%p.log:tags,uptime,time,level" 
  6. JAVA_OPT_LOG="${JAVA_OPT_LOG} -Xlog:safepoint:file=${LOG_DIR}/safepoint_%p.log:tags,uptime,time,level" 
  7.  
  8. JAVA_OPT_OOM=" -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=${LOG_DIR} -XX:ErrorFile=${LOG_DIR}/hs_error_pid%p.log " 
  9.  
  10. JAVA_OPT="${JAVA_OPT_LOG} ${JAVA_OPT_OOM}" 
  11. JAVA_OPT="${JAVA_OPT} -XX:-OmitStackTraceInFastThrow" 
  12.  
  13. echo $JAVA_OPT 

一旦發(fā)現(xiàn)了問(wèn)題,就可以拿GC日志來(lái)快速定位堆內(nèi)問(wèn)題。但是并不是讓你一行行去看,那太低效了。因?yàn)槿罩究赡軙?huì)很長(zhǎng)很長(zhǎng),而且也不一定看得懂。這個(gè)時(shí)候,就可以使用一些在線工具輔助解決。我經(jīng)常使用的是gceasy,下面是它的一張截圖。

  1. http://gceasy.io 

 

有了GC日志還不行,因?yàn)樗鼉H僅是記錄了堆空間的一些變化,至于操作系統(tǒng)的一些資源變動(dòng),它是無(wú)從知曉的。所以,如果你有一個(gè)監(jiān)控系統(tǒng)的話,在尋找問(wèn)題的時(shí)候也能幫到忙。從下圖可以看到系統(tǒng)資源的一些變動(dòng)。

 

溢出示例

堆溢出

代碼。

 


 

 

日志。

  1. java -Xmx20m -Xmn4m -XX:+HeapDumpOnOutOfMemoryError - OOMTest 
  2. [18.386s][info][gc] GC(10) Concurrent Mark 5.435ms 
  3. [18.395s][info][gc] GC(12) Pause Full (Allocation Failure) 18M->18M(19M) 10.572ms 
  4. [18.400s][info][gc] GC(13) Pause Full (Allocation Failure) 18M->18M(19M) 5.348ms 
  5. Exception in thread "main" java.lang.OutOfMemoryError: Java heap space 
  6.     at OldOOM.main(OldOOM.java:20) 

jvisualvm的反應(yīng)。

 

元空間溢出

代碼。

 

日志。

  1. java -Xmx20m -Xmn4m -XX:+HeapDumpOnOutOfMemoryError -XX:MetaspaceSize=16M -XX:MaxMetaspaceSize=16M MetaspaceOOMTest 
  2. 6.556s][info][gc] GC(30) Concurrent Cycle 46.668ms 
  3. java.lang.OutOfMemoryError: Metaspace 
  4. Dumping heap to /tmp/logs/java_pid36723.hprof .. 

jvisualvm的反應(yīng)。

 

直接內(nèi)存溢出

代碼。

 

日志。

  1. java -XX:MaxDirectMemorySize=10M -Xmx10M OffHeapOOMTest 
  2. Exception in thread "Thread-2" java.lang.OutOfMemoryError: Direct buffer memory 
  3.     at java.nio.Bits.reserveMemory(Bits.java:694) 
  4.     at java.nio.DirectByteBuffer.<init>(DirectByteBuffer.java:123) 
  5.     at java.nio.ByteBuffer.allocateDirect(ByteBuffer.java:311) 
  6.     at OffHeapOOMTest.oom(OffHeapOOMTest.java:27)... 

棧溢出

代碼。

 

日志。

  1. java -Xss128K StackOverflowTest 
  2. Exception in thread "main" java.lang.StackOverflowError 
  3.     at java.io.PrintStream.write(PrintStream.java:526) 
  4.     at java.io.PrintStream.print(PrintStream.java:597) 
  5.     at java.io.PrintStream.println(PrintStream.java:736) 
  6.     at StackOverflowTest.a(StackOverflowTest.java:5) 

哪些代碼容易出現(xiàn)問(wèn)題

忘記重寫hashCode和equals

看下面的代碼。由于沒(méi)有重寫Key類的hashCode和equals方法。造成了放入HashMap的所有對(duì)象,都無(wú)法被取出來(lái)。它們和外界失聯(lián)了。

 

下面這篇文章詳細(xì)的描述了它的原理。

結(jié)果集失控

 

不要覺(jué)得這段代碼可笑。在實(shí)際工作中的review中,xjjdog不止一次發(fā)現(xiàn)這種蛋疼的代碼。這有可能是趕工期,也有可能是剛學(xué)會(huì)寫Java。這行代碼有很大的可能性踩坑。

條件失控

代碼。與之類似的就是條件失控,當(dāng)某個(gè)條件不滿足的時(shí)候,將會(huì)造成結(jié)果集的失控。大家可以看下面的代碼,fullname 和 other為空的時(shí)候,會(huì)出現(xiàn)什么后果?

 

萬(wàn)能參數(shù)

還有的同學(xué)使用各種Object和HashMap來(lái)進(jìn)行信息交換。這種代碼正常運(yùn)行的時(shí)候沒(méi)什么問(wèn)題,但一旦出錯(cuò),幾乎無(wú)法排查。排查參數(shù)、排查堆棧、排查調(diào)用鏈,全部失效。

 

一些預(yù)防的措施

  • 減少創(chuàng)建大對(duì)象的頻率:比如byte數(shù)組的傳遞
  • 不要緩存太多的堆內(nèi)數(shù)據(jù):使用guava的weak引用模式
  • 查詢的范圍一定要可控:如分庫(kù)分表中間件;ES等有同樣問(wèn)題
  • 用完的資源一定要close掉:可以使用新的 try-with-resources語(yǔ)法
  • 少用intern:字符串太長(zhǎng),且無(wú)法復(fù)用,就會(huì)造成內(nèi)存泄漏
  • 合理的Session超時(shí)時(shí)間
  • 少用第三方本地代碼,使用Java方案替代
  • 合理的池大小
  • XML(SAX/DOM)、JSON解析要注意對(duì)象大小

案例分析一

這是最常見(jiàn)的一種情況。了解了這種方式,能夠應(yīng)對(duì)大多數(shù)內(nèi)存溢出和內(nèi)存泄漏問(wèn)題。

現(xiàn)象

  • 環(huán)境:CentOS7,JDK1.8,SpringBoot
  • G1垃圾回收器
  • 剛啟動(dòng)沒(méi)什么問(wèn)題,慢慢放量后,發(fā)生了OOM
  • 系統(tǒng)自動(dòng)生成了heapdump文件
  • 臨時(shí)解決方式:重啟,但問(wèn)題依然發(fā)現(xiàn)

信息收集

  • 日志:GC的日志信息:內(nèi)存突增突降,變動(dòng)迅速
  • 堆棧:Thread Dump文件:大部分阻塞在某個(gè)方法上
  • 壓測(cè):使用wrk進(jìn)行壓測(cè),發(fā)現(xiàn)20個(gè)用戶并發(fā),內(nèi)存溢出
  1. wrk -t20 -c20 -d300s http://127.0.0.1:8084/api/test 

MAT分析

堆棧文件獲取:

  1. jmap -dump:format=b,file=heap.bin 37340 
  2. jhsdb jmap  --binaryheap --pid  37340 

MAT工具是基于eclipse平臺(tái)開(kāi)發(fā)的,本身是一個(gè)Java程序。分析Heap Dump文件:發(fā)現(xiàn)內(nèi)存創(chuàng)建了大量的報(bào)表對(duì)象。

 

通過(guò)菜單Find Leaks,一鍵找出黑李逵。

 

根據(jù)提示向下挖就可以。

解決

分析結(jié)果:

  • 系統(tǒng)存在大數(shù)據(jù)量查詢服務(wù),并在內(nèi)存做合并
  • 當(dāng)并發(fā)量達(dá)到一定程度,會(huì)有大量數(shù)據(jù)堆積到內(nèi)存進(jìn)行運(yùn)算

解決方式:

  • 重構(gòu)查詢服務(wù),減少查詢的字段
  • 使用SQL查詢代替內(nèi)存拼接,避免對(duì)結(jié)果集的操作
  • 舉例:查找兩個(gè)列表的交集

案例分析二

現(xiàn)象

  • 環(huán)境:CentOS7,JDK1.8,JBoss
  • CMS垃圾回收器
  • 操作系統(tǒng)CPU資源耗盡
  • 訪問(wèn)任何接口,響應(yīng)都非常的慢

分析

  • 發(fā)現(xiàn)每次GC的效果都特別好,但是非常頻繁
  • 了解到使用了堆內(nèi)緩存,而且設(shè)置的容量比較大
  • 緩存填充的速度特別快!

結(jié)論:

  • 開(kāi)了非常大的緩存,GC之后迅速占滿,造成GC頻繁

案例分析三

  • 現(xiàn)象java進(jìn)程異常退出
  • java進(jìn)程直接消失
  • 沒(méi)有留下dump文件
  • GC日志正常
  • 監(jiān)控發(fā)現(xiàn)死亡時(shí),堆內(nèi)內(nèi)存占用很少,堆內(nèi)仍有大量剩余空間

分析

  • XX:+HeapDumpOnOutOfMemoryError不起作用
  • 監(jiān)控發(fā)現(xiàn)操作系統(tǒng)內(nèi)存持續(xù)增加

下面這些情況都會(huì)造成程序退出而沒(méi)什么響應(yīng)。

  • 被操作系統(tǒng)殺死 dmesg oom-killer
  • System.exit()
  • java com.cn.AA & 后終端關(guān)閉
  • kill -9

解決

發(fā)現(xiàn):

  • 在dmesg命令中發(fā)現(xiàn)確實(shí)被oom-kill

解決:

  • 給JVM少分配一些內(nèi)存,騰出空間給其他進(jìn)程

 

責(zé)任編輯:武曉燕 來(lái)源: 小姐姐味道
相關(guān)推薦

2023-06-12 08:49:12

RocketMQ消費(fèi)邏輯

2021-11-22 07:42:47

稅前個(gè)稅工資

2023-10-31 12:58:00

TypeScriptJavaScript

2021-03-16 08:21:29

Spark系統(tǒng)并行

2020-07-01 08:10:34

JVM 內(nèi)存

2023-04-10 08:11:23

@Lazy懶漢模式餓漢模式

2023-01-06 08:15:58

StreamAPI接口

2021-11-11 09:27:02

技術(shù)RedisMySQL

2021-10-18 11:58:56

負(fù)載均衡虛擬機(jī)

2024-07-19 08:34:18

2024-08-13 15:07:20

2022-09-06 08:02:40

死鎖順序鎖輪詢鎖

2025-05-26 10:00:00

TkinterGUIPython

2021-01-19 05:49:44

DNS協(xié)議

2024-08-30 10:29:21

2024-09-26 13:33:12

2025-09-05 07:23:12

2024-12-31 00:00:01

驅(qū)動(dòng)設(shè)計(jì)應(yīng)用場(chǎng)景業(yè)務(wù)邏輯

2022-09-14 09:01:55

shell可視化

2020-03-18 12:47:59

設(shè)計(jì)模式ERP
點(diǎn)贊
收藏

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

99re6这里有精品热视频| 国产欧美日韩中文字幕| 水蜜桃av无码| 久久亚洲精品中文字幕| 亚洲精品免费在线播放| 精品在线观看一区二区| 久久久999久久久| 最新国产精品| 亚洲欧美国产视频| 亚洲一二三不卡| 一区二区乱码| 综合分类小说区另类春色亚洲小说欧美 | 免费看a在线观看| 国产成人在线视频网站| 欧美一乱一性一交一视频| 九九热视频在线免费观看| 日韩极品少妇| 欧美一卡二卡在线观看| 日韩中文字幕组| 丝袜美腿av在线| 国产日韩欧美亚洲| 国产一区二区三区色淫影院| 在线观看亚洲一区二区| 日韩一级欧洲| 欧美另类第一页| 亚洲久久久久久久| 久久久免费毛片| 日韩一区二区免费在线电影| 亚洲欧美激情网| 123区在线| 亚洲日本乱码在线观看| 日本成人三级| 黄色aaa大片| 国产一区二区美女| 国产精品一区久久| 午夜精品一区二| 亚洲黑丝一区二区| 欧美老少配视频| 精品亚洲乱码一区二区| 国产精品亚洲片在线播放| 欧美成人a视频| gogo亚洲国模私拍人体| 亚洲资源在线| 欧美日韩国产不卡| 韩国中文字幕av| 户外露出一区二区三区| 狠狠爱在线视频一区| 国产精品专区在线| 成人免费一区二区三区牛牛| 亚洲激情av在线| 亚洲天堂第一区| 成人在线免费看黄| 亚洲精选视频在线| 国风产精品一区二区| 毛片av在线| 亚洲精品视频在线| 黑人巨茎大战欧美白妇| 50度灰在线| 亚洲午夜在线视频| 日本一区午夜艳熟免费| 日韩亚洲欧美成人一区| 亚洲激情av在线| 一区二区在线不卡| 欧美jizz18性欧美| 亚洲精品国产精华液| 亚洲小视频在线播放| av在线官网| 亚洲国产精品久久久男人的天堂| 久久久久久久9| gogo高清午夜人体在线| 天天综合网 天天综合色| 国产成人精品视频免费看| 中文一区一区三区高中清不卡免费| 精品女厕一区二区三区| 日韩免费毛片视频| 国产成人午夜性a一级毛片| 欧美日韩国产片| 深夜做爰性大片蜜桃| 一区二区三区高清在线观看| 亚洲成年人在线| 亚洲欧美色图视频| 成人激情开心网| 欧美大片免费观看| 免费看日批视频| 麻豆91小视频| 高清不卡日本v二区在线| 天堂在线观看视频| 欧美国产日本韩| 日本高清视频免费在线观看| 蜜桃在线视频| 4438成人网| 日韩免费高清一区二区| 精品久久综合| 欧美极品美女电影一区| 麻豆精品久久久久久久99蜜桃| 久久se精品一区精品二区| 成人av中文| 成人动漫在线免费观看| 一个色在线综合| 成人免费无码av| 网站一区二区| 国产一区二区日韩| 真实国产乱子伦对白在线| 久久久久国产精品一区二区| 亚洲综合在线播放| 九色视频成人自拍| 亚洲一区二区三区四区在线观看 | 日本不卡一区| 欧美24videosex性欧美| 在线观看不卡一区| 日韩av手机在线播放| 91精品国偷自产在线电影| 日韩av大片免费看| 国产日本精品视频| 欧美激情资源网| 黄色一级视频在线播放| 亚洲爽爆av| 一区二区三区亚洲| 国产精品.www| 国产成人精品一区二区三区四区 | 成人短视频在线| 色猫猫国产区一区二在线视频| 国产伦理在线观看| 日韩免费视频| 国产精品久久国产精品99gif| 高清一区二区三区四区| 《视频一区视频二区| 国产无套粉嫩白浆内谢的出处| 亚洲网址在线观看| 久久精品久久久久| 中国女人真人一级毛片| 久久久午夜精品| 麻豆tv在线播放| 亚洲国产高清在线观看| 日韩在线视频网| 国产suv精品一区二区33| 99国产精品99久久久久久| 日韩中文字幕亚洲精品欧美| 国产精品欧美一区二区三区不卡| 在线播放日韩av| 天天爱天天做天天爽| 久久综合色一综合色88| 亚洲熟妇无码另类久久久| 老司机精品在线| 欧美精品videosex性欧美| 亚洲成人777777| 亚洲精品美腿丝袜| 欧美色图校园春色| 欧美三级网页| 国产精品yjizz| jizz一区二区三区| 亚洲国产精品va在线观看黑人| 久久亚洲AV无码| 成人av在线一区二区三区| 久久人人爽人人爽人人av| 丁香婷婷成人| 69av在线播放| 黄色视屏网站在线免费观看| 91福利国产成人精品照片| 高清国产在线观看| 久久精品99国产精品日本| 日韩视频在线免费播放| 警花av一区二区三区 | 二区三区不卡| 国产亚洲精品91在线| 中文字幕日韩国产| 亚洲丝袜精品丝袜在线| 国产a√精品区二区三区四区| 1024成人| 日本高清不卡三区| 91精品视频一区二区| 欧美成人午夜免费视在线看片| 亚洲高清精品视频| 欧美日韩国产精品一区二区三区四区| 精品人妻无码一区二区三区 | 国产精品美女在线观看| 欧美一区二区三区| 日韩精品一区二区三区蜜臀 | 国产丝袜在线| 精品国产sm最大网站免费看| 日本a级c片免费看三区| 国产精品福利一区二区三区| 日本少妇xxxx软件| 久久综合中文| 伊人网在线免费| 台湾佬综合网| 91精品啪aⅴ在线观看国产| 黑人精品视频| 在线视频一区二区| 亚洲第一视频在线| 在线中文字幕不卡| 青青草国产在线观看| 91麻豆高清视频| 性久久久久久久久久久久久久| 亚洲狠狠婷婷| 欧美少妇一级片| 午夜先锋成人动漫在线| 成人有码在线视频| 亚洲v.com| 色综合久久88| 国产精品99999| 欧美变态tickling挠脚心| 免费黄色av片| 午夜av区久久| 欧美日韩在线观看免费| 久久美女高清视频| 丰满少妇中文字幕| 免费日本视频一区| 久久久久久久久久久福利| 亚洲精品中文字幕乱码| 日韩精品成人一区二区在线观看| 天堂av一区| 成人国产在线视频| 欧美日韩激情电影| 欧美中文在线观看国产| 成人av影院在线观看| 日韩有码在线播放| 国产色在线 com| 亚洲激情免费观看| 精品人妻一区二区三区含羞草| 欧美三级在线视频| 五月婷婷色丁香| 亚洲成av人影院| 特级片在线观看| 亚洲美女淫视频| 久久99久久99精品免费看小说| 国产亚洲欧美激情| 在线免费观看麻豆| www日韩大片| 久久久久亚洲AV成人无码国产| 国产成人亚洲综合a∨婷婷| 久久久精品高清| 卡一卡二国产精品| 第四色婷婷基地| 日韩精品1区2区3区| 可以免费观看av毛片| 亚洲永久免费| 国产在线精品91| 国产精品久久久久久模特 | 精品国产区一区| 性一交一乱一透一a级| 91精品国产乱| 99久久精品国产一区色| 91精品欧美久久久久久动漫 | 精品成人一区二区三区| 精品人妻一区二区三区蜜桃| 欧美一卡2卡三卡4卡5免费| 国产色视频在线| 欧美一级电影网站| 午夜精品无码一区二区三区| 日韩女优电影在线观看| 丁香六月天婷婷| 亚洲国产精品久久久久秋霞蜜臀 | 国产精品超碰| 久久日韩精品| 国产伦精品一区二区三区千人斩| 日本精品一区| 98精品视频| 免费看日b视频| 亚洲日韩成人| 国产成人精品无码播放| 日韩av高清在线观看| 一道本在线免费视频| 国产一区二区伦理片| 久久久久久久人妻无码中文字幕爆| 成人av资源在线| 国产精品天天干| 欧美国产综合一区二区| 登山的目的在线| 亚洲综合免费观看高清完整版在线| 国产精品111| 在线免费观看一区| 国产免费黄色片| 欧美精品一区二区三区高清aⅴ| 四虎在线免费观看| 在线播放国产一区二区三区| 中文字幕中文字幕在线十八区| 欧美精品久久一区二区| 丝袜美腿诱惑一区二区三区| 91精品国产综合久久久久久久久| 一区二区三区亚洲变态调教大结局| 久久99久久精品国产| 日韩在线二区| 国内精品在线观看视频| 蜜桃一区二区三区在线| 日韩大尺度视频| 国产亚洲综合在线| 久草中文在线视频| 在线观看一区不卡| 精品国产18久久久久久| 亚洲欧美日韩一区在线| 国产黄色在线网站| 日本久久久久久久久久久| 亚洲欧美综合久久久久久v动漫| 国产伦精品一区二区三区高清版| av一区二区高清| cao在线观看| 精品一区二区免费视频| 国产精品300页| 亚洲欧美福利一区二区| 国产精品久免费的黄网站| 欧美绝品在线观看成人午夜影视| 天天av天天翘| 欧美乱妇高清无乱码| 日本精品另类| 久久国产主播精品| 欧美在线免费| wwwwwxxxx日本| 久久这里都是精品| 天堂资源在线播放| 这里只有精品免费| 福利视频在线导航| 91av视频在线播放| 亚洲开心激情| 伊人色综合影院| 久久久久在线| 人妻丰满熟妇av无码久久洗澡| 亚洲精品菠萝久久久久久久| 中文字幕在线2019| 亚洲欧美制服第一页| 成人免费一区二区三区牛牛| 91视频在线免费观看| 国产精品99一区二区三区| 日韩一级免费在线观看| 26uuu久久综合| 国产成人无码精品亚洲| 精品欧美久久久| 性欧美1819sex性高清大胸| 91精品在线观| 欧美丰满老妇| 超碰超碰在线观看| 国产日韩av一区| 极品国产91在线网站| 日韩禁在线播放| 日日夜夜天天综合入口| 91国产在线免费观看| 亚洲香蕉av| 亚洲天堂一区二区在线观看| √…a在线天堂一区| 国产精品久久久久久久免费| 一区二区三区天堂av| 成人四虎影院| 一区二区免费电影| 九色|91porny| 国产精品suv一区二区88| 欧美日韩黄色一区二区| 成年午夜在线| 国产精品视频资源| 99成人在线视频| 天天做天天干天天操| 亚洲人成影院在线观看| 国产wwwwwww| 国外视频精品毛片| 成功精品影院| 国产中文字幕在线免费观看| 久久亚洲二区三区| 中国精品一区二区| 久久久91精品国产| av不卡一区| 精品欧美一区免费观看α√| 久久影音资源网| 一区二区三区精| 久久6免费高清热精品| 久久综合社区| 国产成人精品无码播放| 亚洲视频在线观看三级| 亚洲AV无码一区二区三区性| 97精品一区二区视频在线观看| 在线日韩一区| 日本人视频jizz页码69| 亚洲丝袜另类动漫二区| 神马午夜在线观看| 日韩av电影在线网| 婷婷六月综合| 永久免费未满蜜桃| 日本精品一区二区三区四区的功能| 日韩毛片久久久| 国产精品一区而去| 久久九九电影| 国产av 一区二区三区| 亚洲精品999| 国产精品成人国产| 国产视频在线观看网站| 久久精品一区四区| 国产99999| 日韩av片永久免费网站| 亚洲91中文字幕无线码三区| 亚洲永久无码7777kkk| 欧美精品日韩综合在线| 热三久草你在线| 91九色国产ts另类人妖| 26uuu国产在线精品一区二区| 91免费视频播放| 91黄色8090| 中文一区一区三区免费在线观看| 中文成人无字幕乱码精品区| 在线91免费看| 国产精品高清乱码在线观看| dy888午夜| 国产欧美日韩综合精品一区二区|