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

記一次 .NET 某電商定向爬蟲的內存碎片化分析

開發 后端
本次內存碎片化的主要原因在于 Serilog 對接 Loki 的過程中產生的395w的queue積壓所致,但我也只能分析到這里了,至于為什么有積壓,這個還得朋友進一步調試分析,我相信這個問題很快就能得到解決。

[[427674]]

一、背景

1. 講故事

上個月有位朋友wx找到我,說他的程序存在內存泄漏問題,尋求如何解決? 如下圖所示:

從截圖中可以看出,這位朋友對 windbg 的操作還是有些熟悉的,可能缺乏一定的實操經驗,所以用了幾個命令之后就不知道怎么排查下去了。

既然找到我,那就以我的個人經驗在他的dump上繼續分析尋找罪魁禍首,閑話不多說,上windbg說話。

二、Windbg 分析

1. 真的存在內存泄漏嗎?

追這個系列的朋友應該知道,我無數次的用 !address -summary 和 !eeheap -gc 這兩個命令來判斷當前的內存泄漏是屬于托管層還是非托管層。

  1. 0:000> !address -summary 
  2.  
  3. --- Usage Summary ---------------- RgnCount ----------- Total Size -------- %ofBusy %ofTotal 
  4. Free                                    358     7dfc`67f60000 ( 125.986 TB)           98.43% 
  5. <unknown>                              1087      203`88b6e000 (   2.014 TB)  99.99%    1.57% 
  6. Image                                  1532        0`09f11000 ( 159.066 MB)   0.01%    0.00% 
  7. Heap                                    249        0`03453000 (  52.324 MB)   0.00%    0.00% 
  8. Stack                                    66        0`01fc0000 (  31.750 MB)   0.00%    0.00% 
  9. Other                                    10        0`001d1000 (   1.816 MB)   0.00%    0.00% 
  10. TEB                                      22        0`0002c000 ( 176.000 kB)   0.00%    0.00% 
  11. PEB                                       1        0`00001000 (   4.000 kB)   0.00%    0.00% 
  12.  
  13. --- Type Summary (for busy) ------ RgnCount ----------- Total Size -------- %ofBusy %ofTotal 
  14. MEM_MAPPED                              183      200`00d06000 (   2.000 TB)  99.30%    1.56% 
  15. MEM_PRIVATE                            1252        3`8d479000 (  14.207 GB)   0.69%    0.01% 
  16. MEM_IMAGE                              1532        0`09f11000 ( 159.066 MB)   0.01%    0.00% 
  17.  
  18. --- State Summary ---------------- RgnCount ----------- Total Size -------- %ofBusy %ofTotal 
  19. MEM_FREE                                358     7dfc`67f60000 ( 125.986 TB)           98.43% 
  20. MEM_RESERVE                             749      200`28a9b000 (   2.001 TB)  99.33%    1.56% 
  21. MEM_COMMIT                             2218        3`6f5f5000 (  13.740 GB)   0.67%    0.01% 
  22.  
  23. 0:000> !eeheap -gc 
  24. Number of GC Heaps: 1 
  25. generation 0 starts at 0x00000026DA8DA928 
  26. generation 1 starts at 0x00000026DA7FC348 
  27. generation 2 starts at 0x00000024C4691000 
  28. ephemeral segment allocation context: none 
  29.          segment             begin         allocated              size 
  30. 00000024C4690000  00000024C4691000  00000024D468FF28  0xfffef28(268431144) 
  31. 00000024EECF0000  00000024EECF1000  00000024FECF0000  0xffff000(268431360) 
  32. 000000248D6F0000  000000248D6F1000  000000249D6EFEF8  0xfffeef8(268431096) 
  33. ... 
  34. 00000026D66D0000  00000026D66D1000  00000026DBA3CA30  0x536ba30(87472688) 
  35. Large object heap starts at 0x00000024D4691000 
  36.          segment             begin         allocated              size 
  37. 00000024D4690000  00000024D4691000  00000024DC67C318  0x7feb318(134132504) 
  38. 00000024E60F0000  00000024E60F1000  00000024EE0637C8  0x7f727c8(133638088) 
  39. 0000002482140000  0000002482141000  000000248A08F338  0x7f4e338(133489464) 
  40. 00000024A6770000  00000024A6771000  00000024AE76F6C0  0x7ffe6c0(134211264) 
  41. ... 
  42. 000000278E6D0000  000000278E6D1000  000000279635F2D0  0x7c8e2d0(130605776) 
  43. 00000029233E0000  00000029233E1000  000000292AF672F8  0x7b862f8(129524472) 
  44. 000000292B3E0000  000000292B3E1000  0000002931A5ED60  0x667dd60(107470176) 
  45. 000000299B3E0000  000000299B3E1000  00000029A20095B0  0x6c285b0(113411504) 
  46. 000000281E6D0000  000000281E6D1000  0000002825CD3F58  0x7602f58(123744088) 
  47. 00000028266D0000  00000028266D1000  000000282D5CAD50  0x6ef9d50(116366672) 
  48. 000000282E6D0000  000000282E6D1000  0000002833CA0880  0x55cf880(89979008) 
  49. 00000029A33E0000  00000029A33E1000  00000029A684D300  0x346c300(54969088) 
  50. Total Size:              Size: 0x353f96d88 (14293757320) bytes. 
  51. ------------------------------ 
  52. GC Heap Size:    Size: 0x353f96d88 (14293757320) bytes. 

從輸出看,當前進程占用 MEM_COMMIT=13.7G,托管堆內存占用 14293757320 = 13.3G,很明顯這屬于簡單模式的 托管內存泄漏,根據經驗,托管堆上可能有什么大對象,這里用 !dumpheap -stat 命令。

  1. 0:000> !dumpheap -stat 
  2. Statistics
  3.               MT    Count    TotalSize Class Name 
  4. 00007ff9ed6ea268  3956842     94964208 System.Collections.Generic.Dictionary`2+KeyCollection[[System.String, System.Private.CoreLib],[Serilog.Events.LogEventPropertyValue, Serilog]] 
  5. 00007ff9ed5e6d28  3842435    166405016 Serilog.Parsing.MessageTemplateToken[] 
  6. 00007ff9ed5e5e28  3842434    184436832 Serilog.Events.MessageTemplate 
  7. 00007ff9ecccf090  4011012    203304420 System.Int32[] 
  8. 00007ff9ed647078  3956849    253238336 Serilog.Events.LogEvent 
  9. 00007ff9ed6e7b48  3956849    284893128 System.Collections.Generic.Dictionary`2[[System.String, System.Private.CoreLib],[Serilog.Events.LogEventPropertyValue, Serilog]] 
  10. 00007ff9ed5e74e8  9259598    296307136 Serilog.Parsing.TextToken 
  11. 00007ff9ed6471b0 12551808    301243392 Serilog.Events.ScalarValue 
  12. 00007ff9ed6e8308  3956849    729078048 System.Collections.Generic.Dictionary`2+Entry[[System.String, System.Private.CoreLib],[Serilog.Events.LogEventPropertyValue, Serilog]][] 
  13. 00007ff9eccb1e18 16546412   3987811940 System.String 
  14. 00000024c3b8faf0    82904   7382993568      Free 

我去,托管堆最大的對象居然是 Free,大概占用 7.3G, 這就牛了,不按套路出牌哈,為了更好的理解,先來簡要解釋下 free 對象。

2. 簡單解釋 free

其實簡而言之,free對象是被gc標記成已回收的空閑塊但并未提交給操作系統釋放的對象,那怎么去證明呢? 可以先到托管堆上找一個free塊。

  1. 0:000> !dumpheap -type Free 
  2.          Address               MT     Size 
  3. 00000024c4691000 00000024c3b8faf0       24 Free 
  4. 00000024c46a2448 00000024c3b8faf0       24 Free 
  5. 00000024c46b26d8 00000024c3b8faf0       40 Free 
  6. 00000024c47e4418 00000024c3b8faf0       40 Free 
  7. 00000024c4925680 00000024c3b8faf0       40 Free 
  8. 00000024c49284a8 00000024c3b8faf0       64 Free 
  9. 00000024c4947a90 00000024c3b8faf0      192 Free 
  10. 00000024c4951f70 00000024c3b8faf0       48 Free          
  11. 000000249d6ea3a8 00000024c3b8faf0      640 Free 

(1)用 !do 命令查看是否標記為free塊

  1. 0:000> !do 000000249d6ea3a8 
  2. Free Object 
  3. Size:        640(0x280) bytes 

(2)用 dc 看一下這個 free 塊的內容,是否有gc回收的痕跡。

  1. 0:000> dc 000000249d6ea3a8 000000249d6ea3a8+0x280 
  2. 00000024`9d6ea3a8  c3b8faf0 00000024 00000268 00000000  ....$...h....... 
  3. 00000024`9d6ea3b8  9d6ea6d0 00000024 00000000 00000000  ..n.$........... 
  4. 00000024`9d6ea3c8  ed3ae2b8 00007ff9 9d6ea3a8 00000024  ..:.......n.$... 
  5. 00000024`9d6ea3d8  00000000 00000000 edcc9118 00007ff9  ................ 
  6. 00000024`9d6ea3e8  00000000 00000000 00000000 00000000  ................ 
  7. 00000024`9d6ea3f8  00000000 00000000 00000000 00000000  ................ 
  8. 00000024`9d6ea408  eeb07a50 00007ff9 9d6ea3c8 00000024  Pz........n.$... 
  9. 00000024`9d6ea418  00000000 00000000 ef292ee8 00007ff9  ..........)..... 
  10. 00000024`9d6ea428  9d6ea408 00000024 00000000 00000000  ..n.$........... 
  11. ... 
  12. 00000024`9d6ea4a8  eeb0a158 00007ff9 9d6ea420 00000024  X....... .n.$... 
  13. 00000024`9d6ea4b8  00000000 00000000 00000000 00000000  ................ 
  14. 00000024`9d6ea4c8  ef293818 00007ff9 9d6ea4a8 00000024  .8).......n.$... 
  15. 00000024`9d6ea4d8  00000000 00000000 ee8357e0 00007ff9  .........W...... 
  16. ... 
  17. 00000024`9d6ea508  eed37b40 00007ff9 00000000 00000000  @{.............. 
  18. 00000024`9d6ea518  00000000 00000000 00000000 00000000  ................ 
  19. 00000024`9d6ea528  c4699b48 00000024 00000000 00000000  H.i.$........... 
  20. 00000024`9d6ea538  00000000 07000440 00000001 00000000  ....@........... 
  21. 00000024`9d6ea548  00000000 00000000 00000000 00000000  ................ 
  22. 00000024`9d6ea558  00000000 00000000 ef2af6e0 00007ff9  ..........*..... 
  23. 00000024`9d6ea568  00000000 00000000 00000000 00000000  ................ 
  24. 00000024`9d6ea578  00000000 00000000 c4699b48 00000024  ........H.i.$... 
  25. 00000024`9d6ea588  00000000 00000000 00000000 07000400  ................ 
  26. ... 
  27. 00000024`9d6ea628  ef2afd08                             ..*. 

可以看到,這個free塊生前是有一些殘留的內容字符,好了,對 free 塊有基本了解后,接下來我們繼續探究下。

3. 到底是什么阻止了free塊的合并?

按照正常邏輯,大多free塊會在gc回收完之后合并內存時,那些被清空后的segment會被操作系統釋放的,但這個dump并沒有,也就說明這里有什么東西阻止了free塊的合并,那到底是什么呢? 有經驗的朋友會說,可以觀察下 gc 的句柄表,命令為 !gchandles -stat 。

  1. 0:000> !gchandles -stat 
  2. Statistics
  3.               MT    Count    TotalSize Class Name 
  4. ... 
  5. 00007ff9ed15c0f0     1008        72576 System.Reflection.Emit.DynamicResolver 
  6. 00007ff9ecbf6618       38       409344 System.Object[] 
  7. Total 1784 objects 
  8.  
  9. Handles: 
  10.     Strong Handles:       233 
  11.     Pinned Handles:       16 
  12.     Async Pinned Handles: 18 
  13.     Ref Count Handles:    1 
  14.     Weak Long Handles:    1327 
  15.     Weak Short Handles:   144 
  16.     Dependent Handles:    45 

從輸出看,這里并沒有什么可疑的地方,那怎么辦呢? 實操經驗多的話,這里還是有一些經驗值得分享的,比如觀察 free 在 heap 上的布局特征,往往就有重大發現。

4. 查看 free 塊的布局特征

為了簡化輸出結果,我把范圍限定到 heap 上某一個 segment 上,比如這里的: 00000029233E0000 000000292AF672F8,所以命令就是 !dumpheap 00000029233E0000 000000292AF672F8。

  1. 0:000> !dumpheap 00000029233E0000  000000292AF672F8 
  2.          Address               MT     Size 
  3. 00000029233e1000 00000024c3b8faf0  8291896 Free 
  4. 0000002923bc9638 00007ff9eccb1e18   108448      
  5. 0000002923be3dd8 00000024c3b8faf0 29931248 Free 
  6. 000000292586f4c8 00007ff9eccb1e18   301328      
  7. 00000029258b8dd8 00000024c3b8faf0 41384784 Free 
  8. 0000002928030928 00007ff9eccb1e18   301328      
  9. 000000292807a238 00000024c3b8faf0  2542664 Free 
  10. 00000029282e6e80 00007ff9eccb1e18   108448      
  11. 0000002928301620 00000024c3b8faf0 29915032 Free 
  12. 0000002929f88db8 00007ff9eccb1e18   301328      
  13. 0000002929fd26c8 00000024c3b8faf0  2746688 Free 
  14. 000000292a271008 00007ff9eccb1e18   291304      
  15. 000000292a2b81f0 00000024c3b8faf0  1019600 Free 
  16. 000000292a3b10c0 00007ff9eccb1e18   108448      
  17. 000000292a3cb860 00000024c3b8faf0 10601048 Free 
  18. 000000292ade7ab8 00007ff9eccb1e18   301328      
  19. 000000292ae313c8 00000024c3b8faf0   280808 Free 
  20. 000000292ae75cb0 00007ff9eccb1e18   280854      
  21. 000000292aeba5c8 00000024c3b8faf0   416584 Free 
  22. 000000292af20110 00007ff9eccb1e18   291304      
  23.  
  24. Statistics
  25.               MT    Count    TotalSize Class Name 
  26. 00007ff9eccb1e18       10      2394118 System.String 
  27. 00000024c3b8faf0       10    127130352      Free 
  28. Total 20 objects 

真是一看嚇一跳,free 和 object 呈交替狀,這就是為什么free塊不能被合并的真正原因,說實話這種教科書式的 內存碎片化 dump,真是可遇不可求,接下來就抽幾個 free 之間的 object 對象,看看到底是被什么引用著導致gc回收不掉。

5. 尋找 object 的引用鏈

要想查看 object 到底被誰引用著,可以用 !gcroot 命令,這里我抽二個看看。

  1. 0:000> !gcroot 0000002923bc9638 
  2. Thread 1878: 
  3.     00000024C39BE4B0 00007FFA4C0B3522 System.Threading.Tasks.Task.SpinThenBlockingWait(Int32, System.Threading.CancellationToken) [/_/src/System.Private.CoreLib/shared/System/Threading/Tasks/Task.cs @ 2922] 
  4.         rbp+10: 00000024c39be520 
  5.             ->  00000024C48AD6E0 System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1+AsyncStateMachineBox`1[[System.Threading.Tasks.VoidTaskResult, System.Private.CoreLib],[Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions+<RunAsync>d__4, Microsoft.Extensions.Hosting.Abstractions]] 
  6.             ->  00000024C48AD200 Microsoft.Extensions.Hosting.Internal.Host 
  7.             ->  00000024C48AC538 Microsoft.Extensions.Logging.Logger`1[[Microsoft.Extensions.Hosting.Internal.Host, Microsoft.Extensions.Hosting]] 
  8.             ->  00000024C48AC658 Microsoft.Extensions.Logging.Logger 
  9.             ->  00000024C48AC680 Microsoft.Extensions.Logging.LoggerInformation[] 
  10.             ->  00000024C48AC6E0 Serilog.Extensions.Logging.SerilogLogger 
  11.             ->  00000024C48AC808 Serilog.Core.Logger 
  12.             ->  00000024C48AC760 Serilog.Core.Logger 
  13.             ->  00000024C47AD468 Serilog.Core.Logger 
  14.             ->  00000024C47ABF08 Serilog.Core.Sinks.SafeAggregateSink 
  15.             ->  00000024C47ABF20 Serilog.Core.ILogEventSink[] 
  16.             ->  00000024C479C548 Serilog.Sinks.Grafana.Loki.LokiSink 
  17.             ->  00000024C479C778 Serilog.Sinks.Grafana.Loki.Infrastructure.BoundedQueue`1[[Serilog.Events.LogEvent, Serilog]] 
  18.             ->  00000024C479C7B8 System.Collections.Generic.Queue`1[[Serilog.Events.LogEvent, Serilog]] 
  19.             ->  00000026E8C1A800 Serilog.Events.LogEvent[] 
  20.             ->  00000026148D3308 Serilog.Events.LogEvent 
  21.             ->  00000026148D4EF0 Serilog.Events.MessageTemplate 
  22.             ->  0000002923BC9638 System.String 
  23.  
  24. Found 1 unique roots (run '!gcroot -all' to see all roots). 
  25.  
  26. 0:000> !gcroot 000000292586f4c8 
  27. Thread 1878: 
  28.     00000024C39BE4B0 00007FFA4C0B3522 System.Threading.Tasks.Task.SpinThenBlockingWait(Int32, System.Threading.CancellationToken) [/_/src/System.Private.CoreLib/shared/System/Threading/Tasks/Task.cs @ 2922] 
  29.         rbp+10: 00000024c39be520 
  30.             ->  00000024C48AD6E0 System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1+AsyncStateMachineBox`1[[System.Threading.Tasks.VoidTaskResult, System.Private.CoreLib],[Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions+<RunAsync>d__4, Microsoft.Extensions.Hosting.Abstractions]] 
  31.             ->  00000024C48AD200 Microsoft.Extensions.Hosting.Internal.Host 
  32.             ->  00000024C48AC538 Microsoft.Extensions.Logging.Logger`1[[Microsoft.Extensions.Hosting.Internal.Host, Microsoft.Extensions.Hosting]] 
  33.             ->  00000024C48AC658 Microsoft.Extensions.Logging.Logger 
  34.             ->  00000024C48AC680 Microsoft.Extensions.Logging.LoggerInformation[] 
  35.             ->  00000024C48AC6E0 Serilog.Extensions.Logging.SerilogLogger 
  36.             ->  00000024C48AC808 Serilog.Core.Logger 
  37.             ->  00000024C48AC760 Serilog.Core.Logger 
  38.             ->  00000024C47AD468 Serilog.Core.Logger 
  39.             ->  00000024C47ABF08 Serilog.Core.Sinks.SafeAggregateSink 
  40.             ->  00000024C47ABF20 Serilog.Core.ILogEventSink[] 
  41.             ->  00000024C479C548 Serilog.Sinks.Grafana.Loki.LokiSink 
  42.             ->  00000024C479C778 Serilog.Sinks.Grafana.Loki.Infrastructure.BoundedQueue`1[[Serilog.Events.LogEvent, Serilog]] 
  43.             ->  00000024C479C7B8 System.Collections.Generic.Queue`1[[Serilog.Events.LogEvent, Serilog]] 
  44.             ->  00000026E8C1A800 Serilog.Events.LogEvent[] 
  45.             ->  0000002614BB7AC8 Serilog.Events.LogEvent 
  46.             ->  0000002616D3CC40 Serilog.Events.MessageTemplate 
  47.             ->  000000292586F4C8 System.String 
  48.  
  49. Found 1 unique roots (run '!gcroot -all' to see all roots). 

從引用鏈看,這些 object 都是通過 Serilog 日志組件發送給 Grafana.Loki ,通過對引用鏈對象的追蹤,我發現 System.Collections.Generic.Queue 有重大問題,截圖如下:

對,這個 queue 居然有 395w 的積壓,到底積壓了什么東西,可以用 !wdo 看一下string內容。

看樣子這是一個失敗重試,分析到這里思路大概就清晰了,就是 Grafana.Loki 或者 Serilog 組件出了什么問題,導致日志發送不到 Loki 中或者發送速度過慢,然后不斷的積壓所致,接下來把分析到的這些信息和朋友做了一個溝通,截圖如下:

三、總結 

本次內存碎片化的主要原因在于 Serilog 對接 Loki 的過程中產生的395w的queue積壓所致,但我也只能分析到這里了,至于為什么有積壓,這個還得朋友進一步調試分析,我相信這個問題很快就能得到解決。

本文轉載自微信公眾號「一線碼農聊技術」,可以通過以下二維碼關注。轉載本文請聯系一線碼農聊技術公眾號。

 

責任編輯:武曉燕 來源: 一線碼農聊技術
相關推薦

2023-07-06 10:11:38

.NET模式dump

2021-11-02 07:54:41

內存.NET 系統

2024-12-31 09:36:06

2023-06-26 00:12:46

2024-12-27 13:31:18

.NETdump調試

2024-03-28 12:56:36

2023-04-06 10:52:18

2024-05-20 09:39:02

.NETurl線程池

2022-10-13 18:40:05

.NETOA后端

2023-03-26 20:24:50

ERP網站系統

2023-09-27 07:23:10

.NET監控軟件

2024-03-26 00:44:53

.NETCIM系統

2024-07-12 11:20:34

.NET崩潰視覺程序

2022-10-25 14:17:01

.NET代碼程序

2022-01-17 21:28:36

管理系統.NET

2024-07-09 11:51:20

Windows線程池源碼

2024-05-31 12:56:06

.NET代碼方法

2024-07-01 13:00:24

.NET網絡邊緣計算

2024-09-14 10:28:56

.NET卡死程序

2021-10-27 07:30:32

.NETCPU論壇
點贊
收藏

51CTO技術棧公眾號

久久久久亚洲av片无码| av丝袜天堂网| 人操人视频在线观看| 三级影片在线观看欧美日韩一区二区| 国产午夜精品一区理论片飘花| 538任你躁在线精品免费| free性欧美hd另类精品| 99热这里都是精品| 成人高清视频观看www| 黄色激情视频在线观看| 精品国产aⅴ| 日韩精品一区二区三区三区免费| 黄色片久久久久| 二区三区在线观看| 国产日产精品一区| 国产一区二区三区无遮挡| 亚洲视频一区在线播放| 亚洲精品看片| 久久在线精品视频| 精品无码人妻一区二区免费蜜桃| 婷婷综合国产| 欧美视频一区二区三区四区| 天天夜碰日日摸日日澡性色av| 麻豆传媒免费在线观看| 99国产精品一区| 18成人在线| 在线观看黄色网| 免费中文字幕日韩欧美| 欧美韩日一区二区| www色aa色aawww| 精品freesex老太交| 亚洲精品国产精品久久清纯直播| 特级西西444www| 韩日精品一区| 日韩欧美成人免费视频| 性欧美大战久久久久久久| 国产视频一区二区| 国产精品久久毛片a| 日韩免费毛片| 你懂的在线观看视频网站| a在线播放不卡| 国产a一区二区| 亚洲精品一区二区三区蜜桃| 国内精品伊人久久久久影院对白| 国产精品国产亚洲伊人久久 | 日本一区二区免费在线| 韩国成人一区| 全国男人的天堂网| 粉嫩aⅴ一区二区三区四区五区| 国产在线拍偷自揄拍精品| 久草热在线观看| 强制捆绑调教一区二区| 国产精品久久久久秋霞鲁丝| 波多野结衣视频免费观看| 性感少妇一区| 国产成人综合精品在线| 日批视频免费观看| 久久精品国产在热久久| 国产欧美一区二区三区久久人妖| 曰批又黄又爽免费视频| 久久se这里有精品| 91精品国产综合久久香蕉的用户体验| 中文字幕免费高清在线观看| 久久99精品久久只有精品| 国产欧美精品一区二区三区-老狼| 真实的国产乱xxxx在线91| 美女网站色91| 亚洲最大成人免费视频| 亚洲精品国产精品乱码不卡| 成人av午夜电影| 精品国产乱码久久久久久丨区2区 精品国产乱码久久久久久蜜柚 | 懂色aⅴ精品一区二区三区蜜月| 欧美深夜福利视频| 中文字幕在线看片| 91国产免费看| 99精品视频国产| 国产精品久久久久久久久久白浆| 精品国产电影一区二区| 免费a级黄色片| 成人午夜国产| 美女扒开尿口让男人操亚洲视频网站| 美女视频黄免费| 国产欧美午夜| 国产精品十八以下禁看| 国产丰满美女做爰| 26uuu国产一区二区三区| 神马欧美一区二区| 在线xxxx| 欧美在线观看视频一区二区| 天天av天天操| 久久99久久人婷婷精品综合| 自拍偷拍亚洲区| 国产无遮挡又黄又爽| 日韩在线a电影| av激情久久| 美女做暖暖视频免费在线观看全部网址91| 中文字幕不卡的av| 久久这里只有精品23| 成人做爰视频www| 欧美tickling网站挠脚心| 久久无码人妻精品一区二区三区| 91麻豆国产自产在线观看亚洲| 欧美极度另类性三渗透| 无码人妻精品一区二区| 成人一级片在线观看| 视频一区二区在线| 国产福利在线免费观看| 欧美三级三级三级爽爽爽| 精品人妻在线视频| 99久久精品网| 热门国产精品亚洲第一区在线| 国产精品一级视频| 日本一区二区三区免费乱视频| 久草视频这里只有精品| 国外成人福利视频| 亚洲免费一级电影| 日本一区二区网站| 国产美女视频一区| 日韩欧美手机在线| 丝袜诱惑一区二区| 精品精品欲导航| 九九精品视频免费| 麻豆国产精品777777在线| 欧美三级网色| 成年人黄色大片在线| 欧美一区二区三区系列电影| 国产精品av久久久久久无| 亚洲一区二区动漫| 国产伦精品一区二区三区| www.在线视频| 欧美精品久久久久久久多人混战| 久久婷婷五月综合| 天堂在线一区二区| 久久久久久高清| 福利在线免费视频| 亚洲成人精品久久久| 日韩成人毛片视频| 经典一区二区三区| 中文字幕免费在线不卡| 国产福利亚洲| 色偷偷888欧美精品久久久| 一级特黄免费视频| 久久久久国产精品人| 5月婷婷6月丁香| 国产精品毛片久久久| 久久久久国产视频| 亚洲精品免费在线观看视频| 亚洲最大成人综合| 久久久久久久久久久久国产精品| 亚洲女同中文字幕| 91久久爱成人| 欧美性video| 亚洲第一页在线| 日韩成年人视频| 91视频91自| 欧美日韩大尺度| 欧美综合在线视频观看| 国产精品久久久久久一区二区 | 国产精品视频看| www午夜视频| 亚洲人metart人体| 成人18视频| 欧美日韩国产观看视频| 亚洲片av在线| 一卡二卡三卡在线| 亚洲精选在线视频| 久久久久久久穴| av成人天堂| 日本一区二区在线视频| jizz免费一区二区三区| 久久国产精品久久久久久久久久| 精品人妻一区二区三区三区四区| 亚洲狠狠爱一区二区三区| 一本色道综合久久欧美日韩精品| 日韩影院在线观看| 免费观看中文字幕| 久久porn| 国产精品色视频| 欧美性猛片xxxxx免费中国| 亚洲精品国产精品国自产在线| 亚洲国产av一区二区三区| 亚洲欧洲性图库| 亚洲av人人澡人人爽人人夜夜| 美女日韩在线中文字幕| 青春草在线视频免费观看| 国产伦精品一区二区三区在线播放| 91a在线视频| 日韩美女网站| 亚洲成人三级在线| 亚洲免费视频二区| 亚洲国产视频网站| 69精品无码成人久久久久久| 国产精品影视在线观看| 玩弄japan白嫩少妇hd| 夜间精品视频| 欧美日韩精品综合| av一级亚洲| 国产欧美日韩中文| 高清在线视频不卡| 久久精品人人做人人爽| 男女视频在线观看| 日韩三级视频在线观看| 成年人视频免费| 亚洲国产欧美在线| 卡通动漫亚洲综合| 久久久亚洲午夜电影| 两女双腿交缠激烈磨豆腐| 欧美亚洲一区二区三区| www.国产亚洲| 久久在线播放| 久久久久资源| 在线综合色站| 成人午夜两性视频| 电影在线观看一区二区| 欧美中文在线观看| av在线理伦电影| 久久亚洲一区二区三区四区五区高| 深夜福利视频一区| 亚洲白拍色综合图区| 国产裸体无遮挡| 色爱区综合激月婷婷| 日韩三级av在线| 一区二区三区精品视频| 成人18视频免费69| 日本一区二区综合亚洲| 成人无码www在线看免费| 成人sese在线| 国产精品久久久久野外| 国产原创一区二区三区| 亚洲免费看av| 男女视频一区二区| 已婚少妇美妙人妻系列| 国产精品久久久免费| 国产午夜福利100集发布| 黄色在线成人| 黄色三级中文字幕| 国产精品九九| 国产91沈先生在线播放| 国产精品videossex久久发布| 男同互操gay射视频在线看| 亚洲成人国产| 路边理发店露脸熟妇泻火| 天天做综合网| 大桥未久一区二区三区| 66国产精品| 永久免费在线看片视频| 中文字幕乱码亚洲无线精品一区| 色呦呦网站入口| 综合一区二区三区| 草草草视频在线观看| 国产精品红桃| 奇米精品一区二区三区| 久久av在线| 一区二区在线播放视频| 免费在线观看精品| 污版视频在线观看| 国产最新精品精品你懂的| 性生活在线视频| 国产aⅴ综合色| 一区二区三区免费在线观看视频| 久久久久久久一区| 中文字幕91视频| 亚洲精品成人悠悠色影视| 日本熟妇乱子伦xxxx| 色综合咪咪久久| 在线观看毛片网站| 日韩一区二区三区免费看| 丰满熟妇乱又伦| 亚洲欧美日韩中文视频| avtt亚洲| 欧美日本亚洲视频| 中文不卡1区2区3区| 国产精品久久久久久久久久久不卡 | 影音先锋黄色资源| 久久久久久电影| 国产精品国产精品88| 欧美日韩国产限制| 一区二区视频网站| 欧美精品一区二区久久久| 国产在线视频网站| 欧美日韩xxx| 亚洲播播91| 97超级碰碰| 久久av综合| 伊人久久在线观看| 国产精品综合| 日韩av一卡二卡三卡| 成人动漫av在线| 秋霞网一区二区三区| 亚洲va欧美va天堂v国产综合| 精品一区二三区| 精品国产免费一区二区三区香蕉| 免费一级毛片在线观看| 久久国产精品影片| 亚洲伦乱视频| 成人片在线免费看| 第四色成人网| 大j8黑人w巨大888a片| 韩国精品久久久| aaaaa级少妇高潮大片免费看| 亚洲天堂精品在线观看| 在线视频一区二区三区四区| 日韩精品一区国产麻豆| www视频在线观看免费| 国内精品久久久| 四虎精品永久免费| 日本成人三级| 午夜亚洲福利| 看看黄色一级片| 久久久另类综合| 97人人澡人人爽人人模亚洲| 欧美美女黄视频| 黄色电影免费在线看| 性欧美xxxx| 日韩中文一区二区| 一区二区三区四区欧美日韩| 国产精品亚洲综合色区韩国| 免费黄视频在线观看| 国产精品久久一级| 一二三区免费视频| 日韩精品电影网| 超碰99在线| 国产伦精品一区二区三区在线| 伊人青青综合网| 在线视频日韩欧美| 国产精品久久久久7777按摩| 伊人久久久久久久久久久久| 日韩av在线电影网| 超碰成人av| 国产主播一区二区三区四区| 欧美久久九九| 亚洲精品综合在线观看| 日本一区二区免费在线观看视频| 麻豆成人免费视频| 日韩精品中文字幕久久臀| 久久www人成免费看片中文| 亚洲字幕一区二区| 欧美69视频| 精品国产免费久久久久久婷婷| 亚洲少妇最新在线视频| 国产精品久久久久久久一区二区| 中文字幕亚洲自拍| 久草综合在线| 一本色道久久综合亚洲精品婷婷| 麻豆精品新av中文字幕| 青青青视频在线播放| 欧美日韩国产乱码电影| 男人和女人做事情在线视频网站免费观看 | 午夜欧美一区二区三区免费观看| 麻豆9191精品国产| 亚洲性猛交xxxx乱大交| 欧美视频中文字幕| 国产在线一区二区视频| 99久久99| 99pao成人国产永久免费视频| 久久国产精品无码一级毛片| 日韩欧美中文在线| 成人在线免费观看| 成人春色激情网| 欧美日韩免费观看一区=区三区| 亚洲成a人片在线www| 天天影视色香欲综合网老头| 精品推荐蜜桃传媒| 成人精品一区二区三区电影黑人| 午夜激情久久| 五月天丁香社区| 欧美午夜片欧美片在线观看| 成人网视频在线观看| 91九色国产视频| 99成人免费视频| wwwww黄色| 欧美一二三四在线| 欧美xxxhd| 亚洲巨乳在线观看| 国产69精品久久久久毛片| 国产性猛交╳xxx乱大交| 色诱女教师一区二区三区| 亚洲1区在线观看| 凹凸日日摸日日碰夜夜爽1| 中文字幕一区二区三区四区不卡| 国产福利资源在线| 日韩av免费在线看| 亚洲精品网址| 国产精品九九九九九| 欧美精品久久一区二区三区| 国产在线看片免费视频在线观看| 日韩av一区二区三区在线观看 | 国产成人亚洲欧美| 久久综合九色| 久久视频免费看| 在线观看日韩www视频免费| 97视频一区| 中国黄色片免费看| 性做久久久久久| 麻豆视频免费在线观看| 欧美日韩在线观看一区| 国产激情一区二区三区| 日韩黄色一级视频| 久久久久久有精品国产| 99久久久国产精品美女|