久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術文章
文章詳情頁

快速定位Java 內存OOM的問題

瀏覽:8日期:2022-08-16 08:20:20

Java服務出現了OOM(Out Of Memory)問題,總結了一些相對通用的方案,希望能幫助到Java技術棧的同學。

某Java服務(假設PID=10765)出現了OOM,最常見的原因為:

有可能是內存分配確實過小,而正常業務使用了大量內存

某一個對象被頻繁申請,卻沒有釋放,內存不斷泄漏,導致內存耗盡

某一個資源被頻繁申請,系統資源耗盡,例如:不斷創建線程,不斷發起網絡連接

畫外音:無非“本身資源不夠”“申請資源太多”“資源耗盡”幾個原因。

更具體的,可以使用以下工具逐一排查。

一、確認是不是內存本身就分配過小

方法:jmap -heap 10765

快速定位Java 內存OOM的問題

如上圖,可以查看新生代,老生代堆內存的分配大小以及使用情況,看是否本身分配過小。

二、找到最耗內存的對象

方法:jmap -histo:live 10765 | more

快速定位Java 內存OOM的問題

如上圖,輸入命令后,會以表格的形式顯示存活對象的信息,并按照所占內存大小排序:

實例數

所占內存大小

類名

是不是很直觀?對于實例數較多,占用內存大小較多的實例/類,相關的代碼就要針對性review了。

上圖中占內存最多的對象是RingBufferLogEvent,共占用內存18M,屬于正常使用范圍。

如果發現某類對象占用內存很大(例如幾個G),很可能是類對象創建太多,且一直未釋放。例如:

申請完資源后,未調用close()或dispose()釋放資源

消費者消費速度慢(或停止消費了),而生產者不斷往隊列中投遞任務,導致隊列中任務累積過多

畫外音:線上執行該命令會強制執行一次fgc。另外還可以dump內存進行分析。

三、確認是否是資源耗盡

工具:

pstree

netstat

查看進程創建的線程數,以及網絡連接數,如果資源耗盡,也可能出現OOM。

這里介紹另一種方法,通過

/proc/${PID}/fd

/proc/${PID}/task

可以分別查看句柄詳情和線程數。

例如,某一臺線上服務器的sshd進程PID是9339,查看

ll /proc/9339/fd

ll /proc/9339/task

快速定位Java 內存OOM的問題

如上圖,sshd共占用了四個句柄

0 -> 標準輸入

1 -> 標準輸出

2 -> 標準錯誤輸出

3 -> socket(容易想到是監聽端口)

sshd只有一個主線程PID為9339,并沒有多線程。

所以,只要

ll /proc/${PID}/fd | wc -l

ll /proc/${PID}/task | wc -l (效果等同pstree -p | wc -l)

就能知道進程打開的句柄數和線程數。

補充:Java內存溢出OOM

Java內存溢出OOM

經典錯誤

JVM中常見的兩個錯誤

StackoverFlowError :棧溢出

OutofMemoryError: java heap space:堆溢出

除此之外,還有以下的錯誤

java.lang.StackOverflowErrorjava.lang.OutOfMemoryError:java heap spacejava.lang.OutOfMemoryError:GC overhead limit exceeededjava.lang.OutOfMemoryError:Direct buffer memoryjava.lang.OutOfMemoryError:unable to create new native threadjava.lang.OutOfMemoryError:Metaspace架構

OutOfMemoryError和StackOverflowError是屬于Error,不是Exception

快速定位Java 內存OOM的問題

StackoverFlowError

堆棧溢出,我們有最簡單的一個遞歸調用,就會造成堆棧溢出,也就是深度的方法調用

棧一般是512K,不斷的深度調用,直到棧被撐破

public class StackOverflowErrorDemo { public static void main(String[] args) { stackOverflowError(); } /** * 棧一般是512K,不斷的深度調用,直到棧被撐破 * Exception in thread 'main' java.lang.StackOverflowError */ private static void stackOverflowError() { stackOverflowError(); }}

運行結果

Exception in thread 'main' java.lang.StackOverflowError at com.moxi.interview.study.oom.StackOverflowErrorDemo.stackOverflowError(StackOverflowErrorDemo.java:17)OutOfMemoryError

java heap space

創建了很多對象,導致堆空間不夠存儲

/** * Java堆內存不足 */public class JavaHeapSpaceDemo { public static void main(String[] args) { // 堆空間的大小 -Xms10m -Xmx10m // 創建一個 80M的字節數組 byte [] bytes = new byte[80 * 1024 * 1024]; }}

我們創建一個80M的數組,會直接出現Java heap space

Exception in thread 'main' java.lang.OutOfMemoryError: Java heap spaceGC overhead limit exceeded

GC回收時間過長時會拋出OutOfMemoryError,過長的定義是,超過了98%的時間用來做GC,并且回收了不到2%的堆內存

連續多次GC都只回收了不到2%的極端情況下,才會拋出。假設不拋出GC overhead limit 錯誤會造成什么情況呢?

那就是GC清理的這點內存很快會再次被填滿,迫使GC再次執行,這樣就形成了惡性循環,CPU的使用率一直都是100%,而GC卻沒有任何成果。

快速定位Java 內存OOM的問題

代碼演示:

為了更快的達到效果,我們首先需要設置JVM啟動參數

-Xms10m -Xmx10m -XX:+PrintGCDetails -XX:MaxDirectMemorySize=5m

這個異常出現的步驟就是,我們不斷的像list中插入String對象,直到啟動GC回收

/** * GC 回收超時 * JVM參數配置: -Xms10m -Xmx10m -XX:+PrintGCDetails */public class GCOverheadLimitDemo { public static void main(String[] args) { int i = 0; List<String> list = new ArrayList<>(); try { while(true) {//1.6時intern()方法發現字符串常量池(存儲永久代)沒有就復制,物理拷貝//1.7時intern()方法發現字符串常量池(存儲堆)沒有就在保存地址值映射實際堆內存對象list.add(String.valueOf(++i).intern()); } } catch (Exception e) { System.out.println('***************i:' + i); e.printStackTrace(); throw e; } finally { } }}

運行結果

[Full GC (Ergonomics) [PSYoungGen: 2047K->2047K(2560K)] [ParOldGen: 7106K->7106K(7168K)] 9154K->9154K(9728K), [Metaspace: 3504K->3504K(1056768K)], 0.0311093 secs] [Times: user=0.13 sys=0.00, real=0.03 secs] [Full GC (Ergonomics) [PSYoungGen: 2047K->0K(2560K)] [ParOldGen: 7136K->667K(7168K)] 9184K->667K(9728K), [Metaspace: 3540K->3540K(1056768K)], 0.0058093 secs] [Times: user=0.00 sys=0.00, real=0.01 secs] Heap PSYoungGen total 2560K, used 114K [0x00000000ffd00000, 0x0000000100000000, 0x0000000100000000) eden space 2048K, 5% used [0x00000000ffd00000,0x00000000ffd1c878,0x00000000fff00000) from space 512K, 0% used [0x00000000fff80000,0x00000000fff80000,0x0000000100000000) to space 512K, 0% used [0x00000000fff00000,0x00000000fff00000,0x00000000fff80000) ParOldGen total 7168K, used 667K [0x00000000ff600000, 0x00000000ffd00000, 0x00000000ffd00000) object space 7168K, 9% used [0x00000000ff600000,0x00000000ff6a6ff8,0x00000000ffd00000) Metaspace used 3605K, capacity 4540K, committed 4864K, reserved 1056768K class space used 399K, capacity 428K, committed 512K, reserved 1048576KException in thread 'main' java.lang.OutOfMemoryError: GC overhead limit exceeded at java.lang.Integer.toString(Integer.java:403) at java.lang.String.valueOf(String.java:3099) at com.moxi.interview.study.oom.GCOverheadLimitDemo.main(GCOverheadLimitDemo.java:18)

我們能夠看到 多次Full GC,并沒有清理出空間,在多次執行GC操作后,就拋出異常 GC overhead limit

Direct buffer memory

Netty + NIO:這是由于NIO引起的

寫NIO程序的時候經常會使用ByteBuffer來讀取或寫入數據,這是一種基于通道(Channel) 與 緩沖區(Buffer)的I/O方式,它可以使用Native 函數庫直接分配堆外內存,然后通過一個存儲在Java堆里面的DirectByteBuffer對象作為這塊內存的引用進行操作。這樣能在一些場景中顯著提高性能,因為避免了在Java堆和Native堆中來回復制數據。

ByteBuffer.allocate(capability):第一種方式是分配JVM堆內存,屬于GC管轄范圍,由于需要拷貝所以速度相對較慢

ByteBuffer.allocteDirect(capability):第二種方式是分配OS本地內存,不屬于GC管轄范圍,由于不需要內存的拷貝,所以速度相對較快

但如果不斷分配本地內存,堆內存很少使用,那么JVM就不需要執行GC,DirectByteBuffer對象就不會被回收,這時候堆內存充足,但本地內存可能已經使用光了,再次嘗試分配本地內存就會出現OutOfMemoryError,那么程序就崩潰了。

一句話說:本地內存不足,但是堆內存充足的時候,就會出現這個問題

我們使用 -XX:MaxDirectMemorySize=5m 配置能使用的堆外物理內存為5M

-Xms20m -Xmx20m -XX:+PrintGCDetails -XX:MaxDirectMemorySize=5m

然后我們申請一個6M的空間

// 只設置了5M的物理內存使用,但是卻分配 6M的空間ByteBuffer bb = ByteBuffer.allocateDirect(6 * 1024 * 1024);

這個時候,運行就會出現問題了

配置的maxDirectMemory:5.0MB

[GC (System.gc()) [PSYoungGen: 2030K->488K(2560K)] 2030K->796K(9728K), 0.0008326 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] [Full GC (System.gc()) [PSYoungGen: 488K->0K(2560K)] [ParOldGen: 308K->712K(7168K)] 796K->712K(9728K), [Metaspace: 3512K->3512K(1056768K)], 0.0052052 secs] [Times: user=0.09 sys=0.00, real=0.00 secs] Exception in thread 'main' java.lang.OutOfMemoryError: Direct buffer memory at java.nio.Bits.reserveMemory(Bits.java:693) at java.nio.DirectByteBuffer.<init>(DirectByteBuffer.java:123) at java.nio.ByteBuffer.allocateDirect(ByteBuffer.java:311) at com.moxi.interview.study.oom.DIrectBufferMemoryDemo.main(DIrectBufferMemoryDemo.java:19)unable to create new native thread

不能夠創建更多的新的線程了,也就是說創建線程的上限達到了

在高并發場景的時候,會應用到

高并發請求服務器時,經常會出現如下異常java.lang.OutOfMemoryError:unable to create new native thread,準確說該native thread異常與對應的平臺有關

導致原因:

應用創建了太多線程,一個應用進程創建多個線程,超過系統承載極限

服務器并不允許你的應用程序創建這么多線程,linux系統默認運行單個進程可以創建的線程為1024個,如果應用創建超過這個數量,就會報 java.lang.OutOfMemoryError:unable to create new native thread

解決方法:

想辦法降低你應用程序創建線程的數量,分析應用是否真的需要創建這么多線程,如果不是,改代碼將線程數降到最低

對于有的應用,確實需要創建很多線程,遠超過linux系統默認1024個線程限制,可以通過修改linux服務器配置,擴大linux默認限制

/** * 無法創建更多的線程 */public class UnableCreateNewThreadDemo { public static void main(String[] args) { for (int i = 0; ; i++) { System.out.println('************** i = ' + i); new Thread(() -> {try { TimeUnit.SECONDS.sleep(Integer.MAX_VALUE);} catch (InterruptedException e) { e.printStackTrace();} }, String.valueOf(i)).start(); } }}

這個時候,就會出現下列的錯誤,線程數大概在 900多個

Exception in thread 'main' java.lang.OutOfMemoryError: unable to cerate new native thread

如何查看線程數

ulimit -u

Metaspace

元空間內存不足,Matespace元空間應用的是本地內存

-XX:MetaspaceSize 的初始化大小為20M

元空間是什么

元空間就是我們的方法區,存放的是類模板,類信息,常量池等

Metaspace是方法區HotSpot中的實現,它與持久代最大的區別在于:Metaspace并不在虛擬內存中,而是使用本地內存,也即在java8中,class metadata(the virtual machines internal presentation of Java class),被存儲在叫做Matespace的native memory

永久代(java8后背元空間Metaspace取代了)存放了以下信息:

虛擬機加載的類信息

常量池

靜態變量

即時編譯后的代碼

模擬Metaspace空間溢出,我們不斷生成類 往元空間里灌輸,類占據的空間總會超過Metaspace指定的空間大小

代碼

在模擬異常生成時候,因為初始化的元空間為20M,因此我們使用JVM參數調整元空間的大小,為了更好的效果

-XX:MetaspaceSize=8m -XX:MaxMetaspaceSize=8m

代碼如下:

/** * 元空間溢出 * */public class MetaspaceOutOfMemoryDemo { // 靜態類 static class OOMTest { } public static void main(final String[] args) { // 模擬計數多少次以后發生異常 int i =0; try { while (true) {i++;// 使用Spring的動態字節碼技術Enhancer enhancer = new Enhancer();enhancer.setSuperclass(OOMTest.class);enhancer.setUseCache(false);enhancer.setCallback(new MethodInterceptor() { @Override public Object intercept(Object o, Method method, Object[] objects, MethodProxy methodProxy) throws Throwable { return methodProxy.invokeSuper(o, args); }}); } } catch (Exception e) { System.out.println('發生異常的次數:' + i); e.printStackTrace(); } finally { } }}

會出現以下錯誤:

發生異常的次數: 201

java.lang.OutOfMemoryError:Metaspace注意

在JDK1.7之前:永久代是方法區的實現,存放了運行時常量池、字符串常量池和靜態變量等。

在JDK1.7:永久代是方法區的實現,將字符串常量池和靜態變量等移出至堆內存。運行時常量池等剩下的還再永久代(方法區)

在JDK1.8及以后:永久代被元空間替代,相當于元空間實現方法區,此時字符串常量池和靜態變量還在堆,運行時常量池還在方法區(元空間),元空間使用的是直接內存。

-XX:MetaspaceSize=N//設置Metaspace的初始(和最小大小) -XX:MaxMetaspaceSize=N//設置Metaspace的最大大小 與永久代很大的不同就是,如果不指定大小的話,隨著更多類的創建,虛擬機會耗盡所有可用的系統內存。

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。如有錯誤或未考慮完全的地方,望不吝賜教。

標簽: Java
相關文章:
主站蜘蛛池模板: 久久高清 | 日韩成人在线观看 | 国产成人99久久亚洲综合精品 | 99精品99| 久久精品国产清自在天天线 | 亚洲丶国产丶欧美一区二区三区 | 求av网址 | 久久久久国产亚洲日本 | 综合伊人 | 艹逼网 | 精品国产一区二区在线 | 免费黄看片| www国产亚洲精品久久网站 | 免费视频爱爱太爽了 | 可以免费看黄的网站 | 久色视频在线 | 不卡视频一区二区三区 | www.日韩在线视频 | 日韩欧美在线播放 | www.五月天婷婷 | 亚洲av毛片 | 国产精品成人3p一区二区三区 | 中文字幕在线影院 | 午夜欧美一区二区三区在线播放 | 野狼在线社区2017入口 | va在线 | 欧美午夜精品久久久久久蜜 | 精品毛片在线 | 亚洲一区成人 | 欧美日韩精品一区 | 亚洲区一区二 | 欧洲视频一区二区 | 九九视频这里只有精品 | 国产欧美精品区一区二区三区 | 精品欧美一区二区在线观看 | 成人国产精品免费观看 | 国产美女自拍视频 | 精品国产一区二区三区性色av | 日韩国产在线 | 国产日韩欧美视频 | 香蕉夜色 | 亚洲日本乱码在线观看 | 久久久日韩精品一区二区三区 | 亚洲成人在线视频网站 | 日本在线免费观看 | 伊人激情网 | 亚洲精品粉嫩美女一区 | 亚洲综合成人网 | 二区免费视频 | 羞羞视频免费观看网站 | 欧美日韩激情四射 | 国产欧美久久一区二区三区 | 亚洲国产精品一区二区第一页 | 久久久久一区二区三区 | 国产精品一区欧美 | 国产一区a | 亚洲一区二区免费看 | 国产精品综合一区二区 | 午夜视频福利在线观看 | 欧美一区国产一区 | 国产中文字幕在线观看 | 中文字幕日韩在线 | 国产中文在线 | 精一区二区 | 久久久久久久免费 | 中文字幕一区二区三区乱码在线 | 天天干在线影院 | 狠狠综合| 久久久久久91香蕉国产 | 欧美成年网站 | 久久国产精品99久久久久久牛牛 | 日韩视频在线视频 | 欧美日韩电影一区二区 | 国产精品毛片久久久久久久 | 日日夜夜精品网站 | 欧美综合一区二区 | 国产日韩av在线 | 欧美一级毛片免费观看 | 在线观看免费av网 | 在线视频 欧美日韩 | 亚洲视频在线看 | 日本不卡一二三 | 91免费看| 亚洲精品中文字幕中文字幕 | 狠狠色狠狠色合久久伊人 | 亚洲综合网站 | 日韩精品 | 国产激情视频在线观看 | 成人国产精品久久 | 亚洲成人久久久 | 中文字幕亚洲区 | 毛片真人毛毛片毛片 | 免费三片在线观看网站 | 野狼在线社区2017入口 | 99精品视频在线 | 国产99999| 亚洲午夜免费视频 | 欧美精品第一页 | www久久精品 | 91亚洲国产成人久久精品网站 | 成人福利网 | 日韩精品一区二区三区在线播放 | 精品欧美一区二区精品久久久 | 欧美高清成人 | 色欧美片视频在线观看 | 成人免费淫片aa视频免费 | 一区二区三区四区 | av网站观看 | 亚洲精品电影在线一区 | 中文字幕第十二页 | 久久com| 国产一区二区在线免费观看 | 午夜在线电影 | 国产视频色 | www.日韩精品.com | 日韩中文字幕a | 中文字幕66页| 亚洲h视频 | 久久久久久久久久久久久久久久久久久 | 国产一区二区三区在线看 | 欧美一级淫片免费视频黄 | 久热中文在线 | 国产精品久久一区 | 成人影院网站ww555久久精品 | 亚州精品成人 | 国产精品成人在线观看 | 日韩一区二区在线免费观看 | 免费一二区 | 亚洲区在线 | 亚洲成人免费 | 成人国产一区二区 | 日韩成人av在线 | 天天色天天色 | 欧美一级淫片免费视频黄 | 国产在线a| www.国产精品.com | 在线免费色视频 | 亚洲精品中文字幕 | 依人久久| 极品久久 | 黄色毛片观看 | 中文字幕亚洲欧美日韩在线不卡 | 久久久久久91香蕉国产 | 成人免费国产 | 久久久久精 | 成人精品一区二区三区中文字幕 | 韩国成人精品a∨在线观看 国产伊人av | 中文天堂在线观看视频 | 色综合一区 | 免费的日批视频 | 一区二区三区亚洲精品国 | avmans最新导航地址 | 色综合99 | 精品国产乱码久久久久久88av | 色九九| 亚洲视频在线观看 | 五月天中文字幕 | 看亚洲a级一级毛片 | 欧美在线a| 91性高湖久久久久久久久_久久99 | 一级大片免费观看 | 99久久婷婷国产综合精品电影 | 欧美日韩综合视频 | 91精品综合久久久久久五月天 | 国产精品日韩欧美一区二区三区 | 亚洲国产二区 | 成人免费精品视频 | 亚洲福利一区 | 99精品电影| 精品一区二区三区在线观看 | 日本不卡免费新一二三区 | 欧美日韩一区在线 | 欧美日韩视频在线第一区 | 午夜影院在线观看版 | 在线中文视频 | 91精品国产一区二区 | 视色网站 | 久久精品a一级国产免视看成人 | 亚洲精品www久久久久久广东 | 伊人爱爱网 | 国产精品久久久久久久久久久杏吧 | 国产一区二区黑人欧美xxxx | 欧美日韩视频第一页 | 精品视频一区二区在线 | 亚洲国产成人91精品 | av超碰在线 | 玖草在线视频 | 国产精品久久免费视频 | 久久美女 | 一区国产精品 | 91超碰caoporn97人人 | 午夜成人免费电影 | www.99re| 久久成年人视频 | 国产精品视频一区二区三区不卡 | 久久精品国产77777蜜臀 | 欧美视频区| 伊人久久一区二区三区 | 91精品国产色综合久久不卡98 | 亚洲午夜视频在线观看 | 中文字幕一区二区三区在线视频 | 福利视频二区 | 欧美激情国产日韩精品一区18 | 日韩精品1区 | av免费在线观看网站 | 日韩性精品 | 欧美日韩国产影院 | 91精品久久久久久久久 | 久久99精品久久久久久 | 日日网| 高清国产视频 | 自拍偷拍一区二区三区 | 午夜影院普通用户体验区 | 日韩精品一区二区在线观看视频 | 日韩城人免费 | 欧美激情综合色综合啪啪五月 | 亚洲欧美日韩国产 | 久久亚洲一区 | 免费在线一区二区 | 午夜精品久久久久久99热软件 | v片网站 | 久久久91精品国产一区二区精品 | 三级黄色在线视频 | 精品久久久免费视频 | 国产精品久久精品 | 精品96久久久久久中文字幕无 | 国产精品97在线 | 国产成人av在线播放 | 亚洲欧美综合 | 日韩中文在线播放 | 亚洲一区二区三区在线视频 | 久久精品免费电影 | 息与子猛烈交尾一区二区 | 久久成人午夜 | 操操操操操操操操操操操操操操 | 黄色的视频免费 | 天天操夜夜操 | 午夜爽爽影院 | 国产中文字幕在线观看 | 91精品视频一区 | 色视频网站在线观看 | 国产日韩欧美 | 欧美日韩在线成人 | a在线免费观看 | 2018啪一啪| 色吊丝2288sds中文字幕 | 夜夜艹 | 久久久久国产一区二区三区 | 一级黄色片视频 | 性视频黄色 | 久久久久久亚洲精品 | 久久一区视频 | 91精品国产免费 | 欧洲免费av | 日本三级欧美三级 | 可以在线观看的av网站 | 久久久国产一区二区三区四区小说 | 成人欧美一区二区三区白人 | 精品国产精品三级精品av网址 | 久久免费99精品久久久久久 | 亚洲国产精久久久久久久 | 国产精品视频 | 91成人在线免费视频 | 国产精品人人做人人爽 | 日韩免费一区二区 | 欧美一级艳片视频免费观看 | 二区三区 | 黄色一级电影免费观看 | 亚洲精品成人在线 | www视频在线观看 | 天天操天天曰 | 国产亚洲精品成人av久久影院 | 在线视频 亚洲 | 在线观看中文字幕亚洲 | 精品一区二区三区四区五区 | 中文一区 | 欧美一级欧美三级在线观看 | 中文字幕亚洲一区 | 亚洲精品综合 | 精品久久久久久久人人人人传媒 | 国产拍拍拍拍拍拍拍拍拍拍拍拍拍 | 美女视频一区二区三区 | 亚洲成年人网站在线观看 | 成人中文视频 | h视频免费观看 | 久久亚洲精品中文字幕 | 欧美一级二级视频 | 国产在线一区二区三区 | 久久久久免费精品视频 | 国产欧美在线观看 | 国产欧美日韩精品一区二区三区 | 天天操天天插 | www午夜 | 欧美一级大片 | 国产精品日韩 | 久久亚洲一区二区三区四区 | 一区二区三区国产好的精 | 成人免费在线看片 | 欧美福利电影在线观看 | av性色| 91精品久久久久久久久 | 天天色天天看 | 五月婷婷丁香在线 | 国产成人一级毛片 | 亚洲一区二区 | 精品在线一区二区 | 在线a电影 | 久久人人爽人人爽人人片av软件 | 亚洲精品电影在线观看 | 欧美激情一区二区 | 97国产精品 | 欧美一级黄视频 | 久久久久久九九九九九九 | 波多野结衣av中文字幕 | 99pao成人国产永久免费视频 | 国产综合欧美 | 欧美日韩免费一区二区三区 | 精品网站999www | 亚洲精品中文字幕 | 成人免费在线播放 | 可以在线观看的黄色 | 国产拍拍拍拍拍拍拍拍拍拍拍拍拍 | 日韩成人在线视频 | 久久久久久免费毛片精品 | 亚洲国产一区二区三区 | 四虎影院观看 | 日韩不卡中文字幕 | 国产精品久久久久久久久久东京 | 一色屋精品久久久久久久久久 | 成人久久久 | 欧美一区二区在线播放 | 国产亚洲精品久 | 亚洲精品一区二区 | 97久久久 | 亚洲性在线 | 在线国产91 | 亚洲va欧美va天堂v国产综合 | 国产 亚洲 网红 主播 | 黄篇网址 | 久久九九国产精品 | 免费一级黄色电影 | 国产日韩在线播放 | 一区二区三区视频在线免费观看 | 国产96在线观看 | 视频在线一区 | 国产免费天天看高清影视在线 | 国产成人免费 | 欧美一级免费看 | 成人在线看片 | 人人干天天干 | www.成人在线视频 | 久久一区 | 91精品国产91久久久久久蜜臀 | 永久91嫩草亚洲精品人人 | 国产精品高潮呻吟 | 欧美精品激情 | 国产在线拍 | 91免费看片| 免费成人在线网站 | 久久久久久久 | 中文字字幕在线观看 | 欧美中文在线 | 久久9999| 色综合网址 | 高清国产午夜精品久久久久久 | 99re热精品视频国产免费 | 国产三级毛片 | 日本一区二区成人 | 久久天堂 | 天天久久综合网 | 国产精品视频一区二区三区四蜜臂 | 色婷婷综合网 | 一区二区三区在线免费播放 | 日韩日b视频 | www在线看片 | 中文字幕综合在线 | 日韩视频久久 | 亚洲天堂一区二区 | 欧美午夜一区二区三区 | 极品av | 亚洲一区影院 | 在线观看国产 | 在线观看毛片网站 | 精品久久久久久国产 | 福利片一区二区 | 国产区视频在线 | 日韩午夜影院 | 午夜影视在线观看 | 欧美日韩在线观看一区二区 | 国产一区二区三区四区视频 | 午夜爱视频 | 亚洲日韩欧美一区二区在线 | 四虎永久在线观看 | 欧美久久久久 | 日本人做爰大片免费观看一老师 | 日韩一区在线视频 | 久久久xxxx | 久久国内免费视频 | 亚洲 国产 另类 精品 专区 | 色综合社区 | 国外成人在线视频 | 天堂免费在线 | 色香蕉视频| www日本视频| 日韩精品一区二区三区四区视频 | 一级在线观看 | 午夜寂寞影视在线观看 | 一区二区三区国产 | 91精品国产一区二区 | 久久伊| 亚洲 精品 综合 精品 自拍 | 性色av一区二区三区免费看开蚌 | av一区二区三区 | 美女扒开内裤让男人桶 | 久久激情视频 | 蜜臀精品久久久久久蜜臀 | www.男人天堂 | 亚洲高清在线视频 | 国产精品久久久久久吹潮 | 亚洲精品成人av | 99国产精品视频免费观看一公开 | 国产欧美日韩精品一区 | 国产精品网站在线观看 | 天天夜夜操| 免费国产成人 | 久久久久久综合 | 欧美一级电影 | 日韩成人在线观看 | 亚洲 欧美 日韩 精品 | 日本免费在线 | 91久久综合 | 国产色网站 | 日韩一区二区三区在线观看 | 亚洲成人动漫在线观看 | 国产小视频网站 | 国产成人在线免费观看视频 | 国产精品久久久久久久久 | 日日日操 | 欧美日韩啪啪 | 91一区二区 | a级黄色在线观看 | 国产精品成人av | 久久久久久综合 | 欧美一级二级三级视频 | 五月天婷婷色综合 | 一区二区不卡 | 毛片在线免费 | 成人午夜视频在线观看 | 国产精品久久国产精品 | 在线成人av | 日韩小视频在线播放 | 国产精品视频久久久 | 成人网av | 国内精品久久久久 | 日本免费网 | 久久久久久免费毛片精品 | 欧美一区二区三区四区五区 | 99热免费精品 | 成人欧美一区二区三区在线播放 | 国产欧美高清在线观看 | 四虎影视| 久久精品国产99 | 一区二区三区在线 | 欧 | 做a视频免费观看 | www.亚洲成人网 | 久久精品这里热有精品 | 成人福利在线 | 影音在线资源 | 国产精品久久久久久亚洲调教 | 欧美日韩福利视频 | 久久99国产精品久久99果冻传媒 | 成人一级电影在线观看 | 久久99精品久久久 | 久久精品欧美一区二区三区不卡 | 国产一区 | 久久成人精品视频 | 亚洲国产精品一区二区久久 | 国产亚洲一区二区三区在线观看 | 亚洲毛片网站 | 国产日韩精品一区二区 | 国产精品一二三区 | 欧美一级在线 | av一区二区三区 | 欧美午夜视频在线观看 | 四虎影院在线 | 狠狠操中文字幕 | 欧美一级在线观看 | 欧美一区二区三区黄色 | 亚洲首页 | 国产一区二区精品在线 | 日韩精品一区二区在线观看 | 中文字幕一区二区三区乱码在线 | 九九热这里只有精品6 | 国产精品久久久99 | 色综合久久久久久久久久久 | 久久久久91 | 国产成人99久久亚洲综合精品 | 色综合一区二区三区 | 精品久久久久久久久久久久久久 | 日韩欧美国产一区二区三区 | 在线观看日韩精品 | 亚洲欧美中文日韩在线v日本 | 91久久艹 | 啵啵羞羞影院 | 视频一区在线观看 | 成人欧美一区二区三区黑人孕妇 | 久草成人| 成人二区 | 成人欧美亚洲 | 久久99深爱久久99精品 | 久久久精品一区二区三区 | 国产成人精品久久 | 日本天堂在线播放 | 国产成人精品网站 | 亚洲丶国产丶欧美一区二区三区 | 亚洲aⅴ| 成人在线免费电影 | 亚洲欧美日韩在线一区二区 | 另类 综合 日韩 欧美 亚洲 | 免费在线观看毛片网站 | www精品 | 天堂av一区二区 | 亚洲一区二区精品在线观看 | 精品一区二区久久久久久久网站 | 黄色网址大全在线观看 | 欧美影院 | 日日网| 亚洲美女视频一区二区三区 | 精品久久久久久久久久久院品网 | 欧美一级全黄 | 免费观看黄色 | 国产日韩欧美亚洲 | 2018国产大陆天天弄 | 91一区在线 | av下一页 | 欧美白人做受xxxx视频 | 日韩无 | 国产欧美日韩一区 | 中文字幕在线三区 | 天堂视频中文字幕 | 亚洲高清一区二区三区 | 韩国精品一区 | 黄色一级视 | 欧美日韩亚洲国产 | 久久99久久99精品免视看婷婷 | 欧美一区二区三 | 亚洲视频在线一区 | 亚洲免费视频一区二区 | a级片在线观看 | 久久久久久一区 | 自拍小电影| 日韩中文字幕一区 | 毛片网站大全 | 国产精品美女久久久久久久久久久 | 99精品国自产在线 | 男人久久天堂 | 黑人巨大精品欧美一区二区小视频 | 狠狠综合久久av一区二区老牛 | 日韩高清av | 亚洲人成网站999久久久综合 | 欧美日韩大片在线观看 | 国产精品久久国产精品 | 日韩99| 在线观看中文视频 | 欧美在线视频不卡 | 男女网站在线观看 | 日本 国产 欧美 | 超级碰在线视频 | 国产日韩在线播放 | 日本aa级毛片免费观看 | 狠狠综合久久 | 国产精品美女久久 | 特黄毛片| 一区二区三区 在线 | 福利网站在线观看 | 国产毛片a级| 一区二区三区四区在线播放 | 中文字幕第100页 | 在线观看中文字幕亚洲 | 毛片链接 | 成人高清视频在线观看 | 成人黄色一区 | 午夜免费 | 美女操网站 | 青青草在线免费视频 | 九九九色 | 91亚色| 色播开心网| 野狼在线社区2017入口 | 精品国产乱码一区二区三区 | 国产二区视频 | 成人免费视频网站在线看 | 成人精品免费视频 | 国产一区二区三区在线看 | 欧美一区二区三区四区五区 | 亚洲福利一区二区 | 午夜免费小视频 | 日韩在线观看一区 | 日韩成人精品视频 | 国产精品免费一区二区三区四区 | 午夜视频黄 | 国产精品欧美一区二区三区不卡 | 精品一区二区三区四区五区 | 一级淫片免费 | 999免费视频 | 精品成人免费一区二区在线播放 | www.国产.com| 日日爱夜夜爱 | 午夜精品网站 | av在线一区二区三区 | 亚洲视频在线观看 | 一区二区成人 | 国产精品91视频 | 久久精选视频 | 亚洲欧美国产一区二区 |