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

如何判斷內存是否泄露及何處泄露

存儲 存儲軟件
在性能問題里面,內存有沒有泄露?如果有泄露,是哪里泄露了?這兩個問題是非常難判斷和定位的。甚至有廠商對內存是否健康的評判就是:下次系統重啟之前,應用能正常運行。換句話說,有內存泄露找不出來也沒關系,定期重啟一下服務器,而且在生產環境,的確有些企業是這么干的。

內存泄露為什么不容易判斷

在性能問題里面,內存有沒有泄露?如果有泄露,是哪里泄露了?這兩個問題是非常難判斷和定位的。甚至有廠商對內存是否健康的評判就是:下次系統重啟之前,應用能正常運行。換句話說,有內存泄露找不出來也沒關系,定期重啟一下服務器,而且在生產環境,的確有些企業是這么干的。

CPU如果利用率異常,可以查哪個進程中的哪個函數占用CPU多,相應的,內存也可以查哪個進程占內存多。為什么內存問題不像CPU問題那么容易定位?

[[212798]]

內存泄露是指使用內存完成后沒有釋放,內存增長并不能分辨增長出來的內存是進程真正要用的,還是進程泄露出來的。而CPU的占用是瞬時的、確定的,不存在某個進程申請了CPU占著不用的情況。

在一個討論組里,有人提問:對一個基于Java的Web系統進行壓力測試,如果虛擬用戶數從峰值下滑的同時,內存占用率卻保持在峰值不變,是否能得出Java程序存在內存泄露的問題?

回答是否定的,原因如下:

首先,內存占用率指的是什么內存的占用率?

在不同的OS上有不同的內存管理機制,比如AIX上,我們最關注是計算內存,但如果內存利用率指的是計算內存+非計算內存的話,即使內存占用率上升也說明不了太多問題。再比如Linux上,我們最關注是active內存,如果內存利用率指的是active+buffer+cache,即使內存占用率上升也說明不了太多問題。

第二,其他進程的干擾

操作系統上運行的進程千千萬,內存不下降,可能是其他應用/系統進程對內存的使用,應具體分辨是哪個進程占據了內存。因此考察是否有內存泄露應關注的是指定進程有沒有內存增長,這樣比較容易排除干擾。不過,查看進程的Data Segment也只能查看這個進程使用的一部分內存,而這個進程使用的Shared Memory Segment則不在這個指標中,但同樣需要關注(內存是分段的(Segment),每個段都是獨立的,有各自的度量讀數)

第三,進程池的原因

假如只關注計算內存(AIX),如果服務端的應用是一個100個進程的進程池,應用剛啟動的時候沒有客戶端的連接進來,因此沒有啟動任何進程,隨著客戶連接的增多,100個進程統統啟動,并常駐內存;再假如這些進程使用的內存是分配好不變的,那么內存占用率保持在峰值不變,是很正常的表現。

CICS里面也有進程常駐內存的概念。常駐內存后,進程不會掉下去,因此沒有創建、銷毀進程的開銷。

第四,JVM內存管理的原因

如果不是Java程序,內存不下降甚至內存上升,也有上述的多種原因,何況這是Java程序,存在一個JVM內存管理機制的原因。

我們曾經遇到這樣一個案例。對某Linux服務器上的某應用進行壓力測試,在一周的測試過程中,發現內存不斷增加。盡管服務器上每天定時清理內存(如下),但總趨勢仍然是內存增長。

備注:drop_caches是清理無用的cache,對于dirty狀態的是不清理的,直到dirty的內存被寫入磁盤。但如果用sync操作把dirty的內存flush到磁盤中,后續的drop_caches將釋放更多的內存。

后續我們就發現,這是JVM內存管理機制造成的內存泄露假象。該系統在測試過程中Java full GC(全量垃圾回收)沒有被調起,老年代的內存沒法被釋放。雖然應用使用的內存并沒有超過JVM設定的heap大小,但從Linux內存監控的指標上看,active內存是不斷增加的。

為什么full GC沒有被調起呢?這個場景下,老年代內存的增長會非常緩慢,幾天內都不會達到觸發full GC的標準,以致出現內存使用量不斷增長不回收的現象。并且,這個Java應用是一個獨立的Java程序,并沒有運行在應用中間件上,因此沒有中間件幫它做合理的GC策略,而應用本身也沒有去調起full GC。

后經調整應用,主動調起full GC,內存增長問題得到解決。

第五,本應用其他邏輯的干擾

也許這個應用是個接收客戶端數據報送并進行ETL處理的程序,服務端的應用在收到客戶端的數據后,開始啟動其他進程/線程/模塊去做后續處理,后續處理需要分配內存。

繼續最初的問題,回到那個基于Java的Web系統,如果虛擬用戶數從峰值下滑到0,內存占用率卻繼續上揚,是否能得出Java程序存在內存泄露的問題?

回答仍然是否,可能的原因還是上面那幾條。

總而言之,內存泄露是非常難判斷的事,需要長時間的測試才能得到猜測性結論。

誰占用的內存多

首先找到哪個應用或哪個進程占用的內存多。

1、物理內存占用

Nmon sheet

根據經驗,nmon的top sheet- Memory by command最直觀,也最容易直接看出哪個進程消耗的內存資源多。

然后采用類似ps –ef| grep java這樣的命令查看這個進程具體是什么內容。

另外,有不少命令也可以看哪個進程占用物理內存多,但講真,經常用命令行去看,但經??床怀鰜硎裁唇Y果。例如下圖,每個進程消耗的物理內存似乎差距不大,雖然這個例子中服務器上跑oracle這樣的系統軟件,內存都是oracle占的,但即使不跑oracle,這些進程的內存占用往往也差距不大。

Svmon

列出消耗物理內存前十的進程

svmon -Pt10 | perl -e 'while(<>){print if($.==2||$&&&!$s++);$.=0 if(/^-+$/)}'

Svmon里面的inuse指的是這個進程對物理內存的消耗,包括計算內存+非計算內存。其實非計算內存,我們一般是不做過多關注的,及時占用的多,也沒什么問題。

ps

  1. ps aux | head -1 ; ps aux | sort -rn +4 | head -10 

按照占用物理內存的百分比排序,列出前十個進程。

Nmon command

  1. nmon --> t (top processes) --> 4 (order in process size) 

2、Paging Space占用

用到Paging Space不一定說明這個進程占用內存多,很有很能是它被其他進程擠出來的。查出誰在用Paging Space,大概率是查出誰是受害者。

按照占用Paging Space的進程排序

  1. svmon -P -O sortseg=pgsp 

檢查哪個進程引起的Paging到Paging Space(IBM script)。腳本發現po這個指標大于50的時候保存進程相關信息退出

Paging Space一旦為這個分頁分配了磁盤空間,就不會因為這個分頁換回物理內存而釋放,因此經??梢钥吹絇aging Space的利用率不為0,但此時物理內存占用也不多。Paging Space的利用率不為0只能說明歷史上有物理內存不足的情況。

進一步關注指定進程是否有泄漏

在穩定性測試(也叫持久測試或疲勞測試)中,需要觀察內存是否有泄露。然而使用內存的進程千千萬,整個服務器的內存增長似乎也不能判斷某個進程的內存有泄露。因此在穩定性測試過程中往往需要全程關注指定進程的內存消耗,比如運行3天、7天。

查看內存使用情況的命令有ps、sar、svmon、vmstat等等,但本文并不從工具使用的角度來介紹,而是從性能測試中關注指標的角度來介紹。如果采用其他命令查看內存,需注意,相似的名字在不同命令當中的含義是不一樣的,一定要搞清楚這個字段的真正含義。

例1:Virtual這個詞,有時候在內存里面指Paging Space(換頁空間),有時指進程空間里面占用的所有分頁(包括物理內存和Paging Space中的分頁)。

例2:Nmon中的PgIn/PgOut、topas中的PageIn/PageOut是指對文件系統的換頁,而vmstat中的pi/po是對Paging Space的換頁,而topas P中進程的PAGE SPACE是指進程的Data Segment。

進程使用的數據段

1. 獲取來源

ps gv 進程號:SIZE(單位為KB)

svmon –P 進程號:work process private、work shared library data、text data BSS heap、USLA heap、application stack、private load data等segment之和(單位為4KB或64KB)

topas P中進程的PAGE SPACE(單位為4KB)

2. 指標說明

內存泄露指進程自己申請分配、使用了內存但沒有在使用完畢后釋放,大量的泄露會導致物理內存用滿,降低系統效率。

如何判斷一個進程有沒有內存泄露?AIX中使用ps gv命令觀察特定進程的SIZE指標,如果SIZE經過長時間測試后,不斷增長,則可能有內存泄露的嫌疑,這里說的是嫌疑,而不是一定。況且,查看進程的SIZE值也只能查看這個進程使用的一部分內存,而這個進程使用的Shared Memory Segment則不在這個指標中。如果是JAVA程序由于涉及到JVM的內存管理,問題就更難判斷的,我們先放下JAVA程序不表,單說C的程序。

SIZE在ps命令當中的解釋是The virtual size of the data section of the process (in 1KB units)。為什么看這個指標,則需要從進程空間開始說。

進程空間的內存可以分為三種類型:

1)數據段:Data Segment (Data + BSS + Heap)

2)棧:Stack

3)代碼段:Code Segment

棧(Stack):包括返回地址、自動分配的變量,都是一會兒有一會兒沒的,系統自動回收,不會造成內存泄露。

代碼段:進程跑起來肯定要有代碼,代碼基本上可以說是固定大小的,不會造成內存泄露。當然如果代碼太大,裝不進內存,那就另當別論了。

剩下的數據段就是進程自己分配、使用的分頁,數據段包括Data + BSS + Heap。

Data是已經初始化的全局和靜態變量。

BSS是未初始化的全局和靜態變量,比如static int i。

Heap(堆)是進程中malloc, realloc等函數申請的,需要free等函數釋放。

3. 舉例

ps gv命令中SIZE就是該進程數據段的virtual size(1KB為單位),這些分頁可能在物理內存中也可能在Paging Space中。

檢查SIZE列在長期的測試過程中是否有明顯的持續增長,如有,說明可能有內存泄露。

長期的抓取和后期的圖形化處理,可以寫腳本或代碼來實現

其他命令也可以看到這個值,以下圖為例“svmon –P 進程號”可以看work process private的virtual大小+work shared library data的virtual大小。如果有text data BSS heap、USLA heap、application stack、private load data等segment,還需把這些segment也加上。由于svmon中統計的segment較多,因此不推薦采用svmon統計Data Segment。

二者的單位是4K的分頁。(169+85)4=2544=1016,與ps v得到的SIZE值相同。

解釋一下為什么單位是4K,svmon的輸出結果中,work process private和work shared library data的PSize(Page Size)類型是sm。而這臺機器上命令svmon顯示,只有s和m兩個類型,分別對應4KB和64KB。而sm這個類型是什么呢?

AIX上面進程空間的虛擬內存分頁默認的頁大小是4K,但POWER5+以上的處理器支持4種頁大小,分別是4KB(small),64KB(medium),16MB(large)和16GB(huge),POWER6處理器開始支持4K和64K的混合形式,即一個segment里面既有4K分頁,也有64K分頁,當需要大塊內存、需要提升性能的時候用64K分頁,當64K分頁可能會浪費內存的時候則用4K分頁。svmon命令需要告訴用戶這個segment有多少內存,為了統計時的方便,就只用一個單位來度量,這個單位就是sm中的***個字母s(small),對應的度量單位是4K,這個條記錄后面的列中的數據都依據這個度量單位出具。

另外解釋一下inuse和virtual。Svmon里面的inuse指的是這個進程對物理內存的消耗,包括計算內存+非計算內存。而virtual指的是進程空間里面的分頁,這個分頁也許在物理內存,也許在Paging Space。假如說一個進程使用的分頁都在物理內存的話,inuse>=virtual,因為此時inuse里面有文件緩存,而virtual里面沒有文件緩存,文件緩存是操作系統給緩存的,和進程空間沒關系。

也可以Topas,敲擊P,看指定進程的PAGE SPACE,也是254,254*4=1016,與ps v得到的SIZE值相同。

這里的PAGE SPACE的單位是4KB,比較好查,只要man topas就可以找到這一段:PAGE SPACE:The virtual working set size used by process (4 KB pages)

有人會問,為什么不從nmon里面取值?nmon的TOP Sheet里面的進程也有SIZE等內存的指標,但nmon的TOP Sheet中只列出占CPU比較多的N個進程,如果被監控的進程占CPU很低,就不會出現在TOP Sheet中。或者一開始被監控進程占CPU較多,后來由于它占用的CPU減少而從TOP sheet中移除了,那么我們并不知道這個進程是銷毀了還是CPU利用率太低了。

進程使用的共享內存段

除了Data Segment可以造成內存泄露,如果進程分配共享內存,也可能造成內存泄露。

共享內存是某個進程分配,其他進程可以訪問的內存段,共享內存會映射到每個進程的地址空間。

那么如何查看指定進程消耗的共享內存呢?

從進程空間的角度看,共享內存段在這里

首先,還是要介紹概念,共享內存在AIX上可能有兩種內存段:shared memory segment和memory mapped segment。為什么有兩種段呢?這是由于程序調用了不同的實現接口導致的(System V Shared Memory services (shmat) 和BSD Memory Mapped Services)。BSD Memory Mapped Services可以將文件直接映射到內存而省去中間的buffer,但它也可以用來創建共享內存,它創建出來的共享內存段就是memory mapped segment。

查看指定進程消耗的共享內存的具體方法如下:

1. 獲取來源

32位程序

svmon -P進程號| egrep "Vsid|shared memory|mmap maps"

64位程序

svmon -P進程號| egrep "Vsid|shmat/mmap"

查看virtual字段

2. 指標說明

如果查出來某個內存段是memory mapped segment類型的,這個segment里面是不是共享內存,需要用ipcs –mS輔助判斷(因為memory mapped segment也可能是文件直接映射內存)。ipcs查到的都是共享內存,因此可以通過svmon –P中這個段的Vsid( virtual segment ID)在ipcs中查找有沒有這個段號。

這里沒有現成的例子,只是截個示意圖

ipcs –mS看到的是所有共享內存段,而沒有段的大小。如果看段的大小可以加-b選項。需注意,-b選項看到的是可分配的***值,而不是已分配的。

SEGSZ的單位是Byte。-b列出共享內存段以及消息、信號量的***值,也就是可分配的***值,而不是已分配的(數據庫程序除外)。-m列出活動的共享內存段。

責任編輯:武曉燕 來源: talkwithtrend
相關推薦

2017-10-26 08:43:18

JavaScript內存處理

2021-07-26 05:16:24

HashCheck密碼隱私

2016-05-25 10:03:51

JavaScript內存泄露

2010-08-12 09:30:08

Flex內存泄露

2015-12-07 09:39:27

Java內存泄露

2013-08-07 10:07:07

Handler內存泄露

2022-10-10 11:37:14

Gomap內存

2010-11-05 13:02:58

內存iPhone

2020-06-23 09:48:09

Python開發內存

2017-05-04 16:07:11

Tomcat內存泄露

2024-11-27 13:38:30

2010-08-10 10:10:34

Flex內存泄露

2025-05-22 09:35:24

2011-06-16 10:27:55

.NET內存泄漏

2013-12-23 09:25:21

2014-10-15 10:01:12

2022-08-26 07:33:49

內存JVMEntry

2010-09-25 11:32:24

Java內存泄漏

2011-07-20 17:04:43

Objective-C 內存 內存泄露

2010-08-10 10:00:57

Flex內存
點贊
收藏

51CTO技術棧公眾號

亚洲一区 欧美| 噼里啪啦国语在线观看免费版高清版| 亚洲精品一区二区三区四区 | 成人性视频网站| 91成人性视频| 小早川怜子一区二区的演员表| 亚洲视频精选| 欧美三级日本三级少妇99| 欧美一级爱爱视频| av资源种子在线观看| 国产91精品欧美| 国产精品视频导航| 精品国产乱码一区二区| 91精品国产自产拍在线观看蜜| 亚洲精品成人久久| 99999精品| av毛片在线看| 欧美激情一区不卡| 久久99精品久久久久久久久久| 中文字幕你懂的| 国产精品久久国产愉拍| 欧美成人在线免费| 岛国片在线免费观看| 免费久久久久久久久| 日韩精品一区在线| 青青草久久伊人| 伊人色综合一区二区三区影院视频| 一区二区三区在线免费播放| 亚洲欧美综合一区| 国产二区视频在线观看| av电影在线观看不卡| αv一区二区三区| 97精品人妻一区二区三区香蕉| 久久精品一区| 日本精品一区二区三区在线播放视频 | 国产精品伦一区| 欧美aa在线观看| www.激情成人| 国产98在线|日韩| 国产同性人妖ts口直男| 久久成人18免费观看| 欧美成人乱码一区二区三区| 欧美一级片中文字幕| 欧亚av在线| 亚洲成年人影院| 激情五月五月婷婷| 国产一二三区在线观看| 国产精品色在线观看| 日韩亚洲不卡在线| 成人欧美亚洲| 国产精品久久久久久久久搜平片| 欧美在线一区二区三区四区| 欧美女优在线观看| 久久久久久久久久看片| 日本成人三级电影网站| 国产人成在线观看| 中文字幕免费一区| 中文字幕精品一区日韩| 欧美a在线看| 自拍av一区二区三区| 国产手机视频在线观看| 欧美伦理免费在线| 午夜精品一区二区三区电影天堂 | 亚洲永久激情精品| 日韩伦理在线电影| 亚洲色图.com| 日韩黄色短视频| 乡村艳史在线观看| 欧洲av在线精品| 在线黄色免费看| 日韩免费精品| 日韩av网站导航| 谁有免费的黄色网址| 91综合网人人| 色综合久久88色综合天天看泰| 欧美精品一区二区蜜桃| 国产亚洲激情| 国产精品www网站| 国产精品久久久久久久久毛片| 国产激情精品久久久第一区二区 | 天天综合网 天天综合色| 97成人在线观看视频| avav成人| 日韩欧美资源站| 人妻丰满熟妇av无码久久洗澡| 国产欧美日韩精品高清二区综合区| 社区色欧美激情 | 久久久精品人妻一区二区三区四 | 四虎国产精品永远| 中国色在线观看另类| 免费日韩在线观看| 国产精品迅雷| 欧美一区二区福利视频| 人人妻人人澡人人爽人人精品| 日本一二区不卡| 欧美精品国产精品日韩精品| 91视频久久久| 国产91精品一区二区| 婷婷久久伊人| av电影在线地址| 欧美日韩电影一区| 国产制服丝袜在线| 亚洲国产精品成人| 国产91免费观看| 欧美 日韩 国产 精品| 日本一区二区免费在线| 妞干网在线视频观看| 中文字幕日韩亚洲| 国产午夜精品一区理论片飘花| www.色小姐com| 奇米影视一区二区三区| 精品婷婷色一区二区三区蜜桃| 巨大荫蒂视频欧美大片| 日本韩国欧美一区| 一级欧美一级日韩片| 88国产精品视频一区二区三区| 亲子乱一区二区三区电影| 性一交一乱一色一视频麻豆| 中文字幕+乱码+中文字幕一区| 国产日韩欧美精品在线观看| 国产日本亚洲| 视频在线观看99| 国产女主播喷水视频在线观看| 成人福利视频网站| 欧美性受xxxx黑人猛交88| 久久xxx视频| 亚洲精品一区av在线播放| 国产一级视频在线观看| 国产精品一区二区三区四区 | 三上悠亚影音先锋| 亚洲国内自拍| 国产精品入口免费| 免费在线看电影| 日韩亚洲欧美综合| 青花影视在线观看免费高清| 日本视频在线一区| 日韩av影视| 国产一区二区主播在线| 亚洲日韩第一页| 午夜影院免费在线观看| 99久久精品国产精品久久| 成人免费看片'免费看| 免费观看亚洲视频大全| 久久成人这里只有精品| 国产特级aaaaaa大片| 亚洲精品国产视频| 国产大学生av| 一区在线视频| 精品综合在线| 综合毛片免费视频| 在线播放国产一区二区三区| 四虎影院在线免费播放| 国产欧美综合色| 亚洲成色www.777999| 青草国产精品| 成人做爽爽免费视频| av免费在线观看网址| 欧美大片拔萝卜| av资源吧首页| 26uuu成人网一区二区三区| 91传媒久久久| 成人写真视频| 川上优av一区二区线观看| 亚洲奶水xxxx哺乳期| 欧美精品一区二区三区久久久| 国产 欧美 日韩 在线| 久久综合色8888| 午夜在线观看av| 亚洲成av人片乱码色午夜| 91网免费观看| 中文字幕 在线观看| 中文字幕亚洲二区| 性中国xxx极品hd| 欧美日韩精品在线| 一本在线免费视频| 国产成人精品www牛牛影视| 少妇无码av无码专区在线观看 | 亚洲精品一区二三区| 国产精品久久久久久久久晋中 | 精品久久人妻av中文字幕| 亚洲成人自拍网| 国产高清一区二区三区四区| 久久 天天综合| 五十路熟女丰满大屁股| 色婷婷热久久| 国产专区一区二区三区| 国产私拍福利精品视频二区| 色综合久综合久久综合久鬼88| 性xxxxbbbb| 337p亚洲精品色噜噜狠狠| 日韩精品一区二区av| 国产精品三级av| 午夜视频在线观看国产| 麻豆精品久久精品色综合| 99在线免费视频观看| 成人羞羞视频在线看网址| www 成人av com| 久久女人天堂| 57pao精品| a免费在线观看| 亚洲无线码在线一区观看| 精品人妻一区二区三区四区不卡 | 国产三级视频在线播放| 精品国产鲁一鲁一区二区张丽| 午夜激情福利网| 国产欧美在线观看一区| 成人区人妻精品一区二 | 日本少妇xxxx| 国产一区二区影院| 午夜dv内射一区二区| 狠狠爱综合网| 三年中文高清在线观看第6集| 亚州av一区| 国产69精品久久久久9999apgf| 国产情侣一区二区三区| 欧美亚洲国产日本| 欧美寡妇性猛交xxx免费| 日韩中文字幕亚洲| 黄网在线免费| 日韩av中文字幕在线| 精品人妻一区二区三区三区四区| 欧美日韩免费一区二区三区| 西西44rtwww国产精品| 一区二区在线免费观看| 强制高潮抽搐sm调教高h| 91蝌蚪porny| www.超碰97| 不卡av在线网| 国内自拍偷拍视频| 国产乱码字幕精品高清av | 成人午夜淫片100集| 天天做天天摸天天爽国产一区| 人妻久久一区二区| 国产精品二三区| av免费播放网站| 亚洲国产精品t66y| 欧美黄色激情视频| 国产亚洲欧美色| 国产精品美女高潮无套| 久久免费看少妇高潮| 日本aaa视频| 久久久影院官网| 我和岳m愉情xxxⅹ视频| 久久综合网色—综合色88| 亚洲av成人片色在线观看高潮 | 国产一区二区女| 久久久九九九热| 韩国成人福利片在线播放| 天天干天天玩天天操| 毛片基地黄久久久久久天堂| 天天视频天天爽| 国产中文字幕精品| 伦伦影院午夜理论片| 国产精品99久久久久久久vr| 性xxxxxxxxx| av亚洲精华国产精华| 成人免费毛片日本片视频| 91在线码无精品| 国产ts在线播放| 国产精品日产欧美久久久久| 国产又粗又长又黄的视频| 自拍偷拍亚洲欧美日韩| 国产盗摄x88av| 亚洲成人免费在线观看| 三级视频在线观看| 欧美亚洲尤物久久| 国产喷水福利在线视频| 日韩精品一区二区三区蜜臀| 刘亦菲毛片一区二区三区| 日韩成人在线播放| 成年在线观看免费人视频| 精品国产依人香蕉在线精品| 2021国产在线| 欧美在线观看一区二区三区| 亚洲一区二区三区四区| 成人免费网站在线| 国产精品中文字幕制服诱惑| 蜜桃传媒视频麻豆第一区免费观看| 国产日产一区| 黄黄视频在线观看| 国产精品试看| 欧美日韩一区二区三区69堂| 国产成人99久久亚洲综合精品| 中国美女乱淫免费看视频| 国产精品亲子乱子伦xxxx裸| 免费一级肉体全黄毛片| 日韩欧美亚洲国产一区| 一二三四区视频| 亚洲国产日韩欧美综合久久| 国产小视频免费在线网址| 久久这里有精品| 欧美日韩免费看片| 亚洲精品女av网站| 精品一区毛片| 91免费国产精品| 日韩国产精品久久久| 乳色吐息在线观看| 久久久久久久精| 精品无码人妻一区二区三区品 | 韩国av电影在线观看| 中文字幕欧美日韩在线| 韩日毛片在线观看| 91九色精品视频| 国产99精品一区| cao在线观看| 韩国女主播成人在线观看| 亚洲成人网在线播放| 亚洲一二三四在线观看| 制服丝袜在线一区| 亚洲欧美日韩综合| 激情av在线播放| 91色在线观看| 欧美美女视频| 黄色一级片播放| 高清在线不卡av| 国产午夜精品理论片| 91极品视觉盛宴| 亚洲欧洲视频在线观看| 欧美理论片在线观看| 国产成人午夜性a一级毛片| 美女主播视频一区| 激情久久久久| 在线观看一区二区三区视频| 亚洲欧美综合网| 中文字幕欧美在线观看| 日韩精品亚洲精品| 国产直播在线| 国产日韩二区| 国模 一区 二区 三区| 天天色天天干天天色| 国产精品久久久久久久蜜臀| 自拍偷拍校园春色| 亚洲精品色婷婷福利天堂| 精品丝袜在线| 久久99精品久久久久久秒播放器| 精品动漫av| 亚洲天堂av网站| 亚洲v中文字幕| 婷婷在线免费观看| 97在线视频一区| 西野翔中文久久精品字幕| 婷婷五月综合缴情在线视频| 成人高清在线视频| 日韩av综合在线| 亚洲精品97久久| 爱草tv视频在线观看992| 国产一区二区三区高清视频| 雨宫琴音一区二区在线| 亚洲男女在线观看| 五月激情丁香一区二区三区| 色窝窝无码一区二区三区| 992tv在线成人免费观看| 欧美人与动xxxxz0oz| 欧美极品欧美精品欧美图片| 久久人人超碰精品| 亚洲天堂aaa| 另类图片亚洲另类| 一本色道69色精品综合久久| 拔插拔插海外华人免费| xnxx国产精品| 亚洲一区二区激情| 美日韩精品视频免费看| japanese色系久久精品| 日本不卡在线观看视频| 中文无字幕一区二区三区| 国产精品国产三级国产aⅴ| 久久99热这里只有精品国产 | 亚洲欧洲中文天堂| 成人不卡视频| 国产a级黄色大片| 2023国产精品视频| 在线免费观看日韩视频| 欧美另类交人妖| 日韩欧美ww| 中文字幕亚洲乱码| 亚洲最快最全在线视频| 四虎在线观看| 91视频国产精品| 宅男噜噜噜66一区二区| 国产馆在线观看| 精品粉嫩aⅴ一区二区三区四区| 一区二区电影免费观看| 免费国产成人看片在线| 丁香天五香天堂综合| 天堂网免费视频| 久久99热精品这里久久精品| 九九综合在线| 国产精品嫩草69影院| 色婷婷av一区二区| 在线观看免费视频你懂的| 久久精品国产美女| 九色综合狠狠综合久久| 久久露脸国语精品国产91| 日韩在线精品一区| 日韩精品社区| 岛国大片在线免费观看| 在线视频你懂得一区二区三区| 肉体视频在线| 亚洲成人一区二区三区| caoporen国产精品视频|