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

基于Rust的Android Native內存分析方案

移動開發 Android
高德地圖車機版運行的車載系統環境絕大部分都是基于安卓的定制系統,且高德車機版底層代碼均為C/C++ Native代碼。因此,在安卓上需要有一種通用的Native內存性能分析方案。

背景:高德地圖車機版運行的車載系統環境絕大部分都是基于安卓的定制系統,且高德車機版底層代碼均為C/C++ Native代碼。因此,在安卓上需要有一種通用的Native內存性能分析方案。內存塔(MemTower)是一個基于開源項目memory-profiler并移植安卓且優化改進后的方案,解決了之前方案存在的痛點問題,滿足了通用Native內存性能分析需求。該項目采用Rust語言編寫,并利用了Rust的一些特性來完成對Native內存訪問的Hook.

1. Android Native內存分析痛點與訴求

這一節主要介紹我們為什么要做這件事以及對于這件事我們期望達到什么樣的目標。

1.1 現有工具缺陷

Android在Java層面有很完善的性能分析工具,但是在Native層面沒有完整的解決方案。主要表現在:

  • 不支持Android 4.x,線上統計數據顯示4.x版本的車機仍占有較大比重,因此這點成為了無法忽視的問題。
  • 安卓自帶的malloc_debug功能在不同的版本上行為不同,而且車機安卓系統大多經過了系統廠商的定制,不能保證這些功能可用。

因此, 無法基于Android系統自有的功能做到Native內存性能分析。

我們團隊之前也在這方面做出了一些成果,但還是存在下面幾個問題:

  • 通過修改編譯參數對Native代碼函數入口/結束位置插樁來進行Hook,導致了性能嚴重下降;
  • 由于是侵入式分析,對內存問題分析需要單獨編譯出包分析,解決效率大幅降低,一個內存泄漏問題的排查成本按天計算。
  • 缺少精準內存使用數據。

1.2 打造一套完整的Native內存性能分析方案

結合上門的問題痛點,我們希望能夠有一套完整的Native內存性能分析方案。具體訴求表現在下面幾點:

  • 支持安卓4.x在內的絕大多數安卓系統。
  • 無侵入式分析,內存問題的發現與精準定位同時完成。
  • 性能優異,overhead低。
  • 支持長時間內存泄漏壓測。包括車廠客戶在內的研發團隊都會對導航進行壓測,需要能夠支持長時間的壓測并定位內存泄漏問題。
  • 函數級內存使用數據。原先的方案重點在于解決內存泄漏的問題,獲取的內存使用數據不夠精確。而我們希望新的方案能夠獲得詳細的內存使用數據,用來支持內存性能優化。

2. 內存塔(MemTower)方案

本節主要介紹memory-profiler項目的實現和內存塔(MemTower)方案在移植該項目至Android平臺上的過程和對原方案的改進。闡述我們是如何實現并滿足上述的訴求。

2.1 選擇Rust & Memory-profiler

針對上門的訴求,期望能夠找到一種新的解決方案。當時正好在研究Rust,因此在GitHub上結合關鍵字搜索便發現了memory-profiler(以下簡稱mp)項目,作者koute是前Nokia工程師。接著才有了后面的內存塔。本節主要闡述mp如何結合Rust實現內存Profile的相關原理和功能。

2.1.1 Hook實現

通常對Native內存性能分析使用的方案是Hook malloc 和 free 等內存調用請求。mp的原理也是如此,利用LD_PRELOAD 預加載自定義庫實現對內存操作函數的Hook。這種方案最大的問題是容易引發循環malloc調用。如下圖,Hook了程序內存請求后,Hook業務自身的內存請求也會觸發內存請求,從而造成了malloc循環調用,引發棧崩潰。

mp的做法利用了Rust的可自定義內存分配器(Allocator)的特性,將曾經的Rust默認內存分配器jemalloc作為自定義分配器,并在jemalloc-sys的c代碼中將最終的內存申請mmap替換成自定義的函數入口(從而也區分應用和自身的mmap調用),最終調用mmap系統調用。

將Rust內存請求轉發給系統調用后,還需要將應用的內存請求繼續傳遞給系統libc. mp的做法是通過Rust的feature開關,可以自行選擇兩種方式處理應用內存請求,這兩種方式都是通過在Rust中指定link_name 屬性實現:

  • 直接通過__libc_malloc的link_name將應用內存請求轉發給libc
  • 通過指定成jemallocator的函數入口 _rjem_malloc,使應用和Rust共用jemalloc.
  • 最終可以使Hook業務使用完整的Rust語言功能而不用擔心Rust自身代碼引起的循環調用崩潰。

2.1.2 高性能堆棧反解

除了利用Rust系統編程語言特性避開內存循環調用之外,作者還利用Rust的高性能特點實現了幾種高性能堆棧反解。

利用ELF的.eh_frame 節(C++異常處理機制)提供的棧回溯信息。

基于.ARM.exidx + .ARM.extab的棧回溯,這個是ARM提供的unwind table.

具體實現可以看作者的這個Crate not-perf。這里選擇第二種做說明,如圖下,對每個線程的堆棧都用線程局部存儲維護了一套棧幀緩存,這個緩存來自于ELF文件中的unwind table信息,當堆棧的幀在緩存未命中時會把對應二進制的unwind表被加載到內存,而命中的時候,就不需要去讀取文件。通常二進制被加載后它的地址空間就不會發生變化,所以緩存的效率很高。缺點是每個線程都有一套完整的緩存。從系統層面看占用的內存overhead很大。

2.1.3 強大的數據分析功能

從mp的頁面可以看到它除了內存Profile外,還有一個對應的數據分析Server端,采用actix-web框架,且具備一個非常強大的分析功能。主要特性有下面幾點:

  • 內存使用量和泄漏兩種視角的時序曲線非常直觀。
  • 搭配了一個非常強大的過濾器,可以實現針對內存生命周期、函數、時間等多維度做過濾查詢及其對應的內存火焰圖功能。
  • 所有功能具備RESTful API接口,可以非常容易的實現定制。

詳細的使用說明這里不做過多的介紹。

 

 


 

2.2 移植

了解完mp的基本原理后,本節我們主要闡述在移植安卓平臺過程中遇到的各種問題(坑)。

2.2.1 自定義Allocator

mp的Hook方案在Android平臺上存在較多問題,主要體現在下面幾點:

  • Jemalloc本身也才是Android 5.0開始引入安卓,mp自帶的jemalloc-sys會導致一個應用里存在兩個jemalloc,最終表現為在不同的版本上有著各種各樣的異常崩潰,問題排查成了阻礙。
  • __libc_malloc是glibc提供的malloc函數入口別名,但在Android平臺沒有對應這類實現。

因此,我們采用最原始的dlsym 方法獲取內存相關函數入口,再將其封裝成Rust Allocator. 應用的內存請求也使用這些函數地址。如下圖,最終所有內存請求都傳給libc,這樣Rust的業務代碼對libc來說是透明的。

2.2.2 棧回溯

棧回溯這塊同樣有一些移植修改。上面說到作者提供了基于C++異常處理機制的棧回溯方法,但是這個方案要求依賴C++庫。而C在Android 8.0之后才會成為默認依賴。這要求在8.0之前的版本運行時應用必須也依賴C++庫。因此我們移除了這個棧回溯方案,舍去了這個依賴。

2.2.3 地址空間重載

在程序啟動或調用dlopen/dlclose時鏈接器會加載(或卸載)ELF文件,相應的,程序的地址空間會發生變化,這時候棧回溯緩存里的地址空間就可能會失效,需要重新加載(reload),reload操作掃描整個地址空間的變更,這個成本很高。與此同時還需要一種低成本獲取地址空間變化的方式. mp的實現主要有兩種方式:

libc提供的接口dl_iterate_phdr. Android API_LEVEL低于21(即5.0之前)沒有,5.0之后這個函數的結構體和在高版本Android的實現不同。所以Rust定義的單一C結構體格式會導致讀取到臟數據作為reload依據,導致非常高頻繁地reload.;

Perf的 PERF_RECORD_MMAP2 事件,這個要求內核版本大于3.16。因此這在Android 4.x上也不具備。

實際運行過程中程序在加載完所有依賴ELF后,地址空間幾乎很少再變。因此,我們修改為只有在新的ELF被加載時才進行地址空間重載。火焰圖結果顯示可以大幅降低Hook時的計算成本。

2.3 改進

到目前為止, 內存塔已經可以在支持 LD_PRELOAD 的Android版本上正確運行了(含4.x)。但是上面訴求中還有一點無法滿足:長時間內存泄漏壓測。而且在數據分析過程中,我們希望有更多維度的信息。因此,本小節主要介紹我們對內存塔的改進。

2.3.1 內存泄漏壓測

mp原先的定位正如它的名稱表述,是一款內存性能分析工具,它記錄的是全量內存信息。這點決定了它的數據量規模。在長時間壓測一小時的多個業務場景中,根據內存使用量不同,生成的采樣數據文件有1GB~7GB之多。這樣的數據量無法滿足業務的需要。

因此,我們增加了內存泄漏檢測模式(ONLY_LEAKED),這個模式的原理如下:

  • 將記錄到內存開辟的每一層棧幀記錄到一個字典樹(Trie Tree)中,同時記錄開辟的內存大小。
  • 內存釋放時更新字典樹對應的節點信息。當前泄漏是否達到某個閾值(如100MB), 是則停止采樣。
  • 在結束采樣時把整個字典樹存儲的未釋放內存記錄寫入文件。

這種模式的優點是最終的數據量非常的小,實際壓測一小時數據文件大小在100~200MB之間。再進過mp自帶的postprocess 子命令壓縮后,大小不足100MB。不足之處是內存塔需要在內存中緩存一個全量的堆棧歷史數據,當沒有新的棧幀記錄出現后這個內存增長才會趨于穩定。

2.3.2 增強分析過濾器

導航的業務模塊劃分和線程很多,因此增加了按線程和庫正則篩選過濾器選項。

2.3.3 內存火焰圖完善

mp原方案的內存火焰圖是以內存大小(allocated)作為火焰圖維度,在分析內存性能時內存開辟次數(allocations)也是一個很重要的指標,因此加入內存開辟次數火焰圖。這是當初最早改進的功能,而且火焰圖的形狀類似塔狀,就把該項目重命名為:內存塔(MemTower)。

最后一點是原方案的火焰圖信息沒有以線程為單位劃分,我們把堆棧信息按線程區分后會更加直觀。

分配次數火焰圖

分配大小火焰圖

3. 內存塔的能力及更多可能

最后一節介紹下內存塔提供了什么樣的能力、收益以及還有哪些可能。

3.1 能力

內存塔(MemTower)在Android 8.0以下依賴setprop wrap.com.xxx.xxx 和 root權限的能力,8.0以上版本如果沒有root權限還可以通過配置Android項目wrap.sh來加載內存塔庫。另外,由于mp原生支持Linux的原因,我們也成功適配了奔馳戴姆勒這類嵌入式Linux項目車機。

  • 支持平臺:Android 4.x、5.1.1和7或更高以上版本(5.0和6系統存在Bug, 無法設置setprop ). Linux x86_64, AArch64, Arm.
  • 采樣方式: 非侵入式. 非Root設備可選侵入式方式。
  • 采樣模式: 常規性能分析模式和內存泄漏壓測模式。
  • 特點: 高性能堆棧反解、完善的內存分析Insight體驗(多維度過濾器分析、內存火焰圖等)。

原先發現內存泄漏問題重新出包二次壓測分析,再推斷可能泄漏點的流程耗費時間按天計算。利用內存塔(MemTower)做一遍測試后幾分鐘即可解析出精細化數據,大幅降低了內存性能問題分析成本。mp提供的這套Hook思路和高性能堆棧反解其實可以不僅僅局限在內存方面的分析,還可以針對IO性能分析或其它問題上。

責任編輯:未麗燕 來源: 高德技術
相關推薦

2024-07-03 11:28:15

2024-07-08 10:56:34

Rust進程內存

2013-08-02 10:06:36

Android內存溢出

2012-08-13 10:14:36

IBMdW

2020-06-17 16:38:22

Rust業務架構

2020-10-26 10:58:39

Volatility的

2020-09-24 10:57:52

Frida 和 QB

2013-07-23 06:56:12

Android內存機制APP內存使用情況Android開發學習

2022-09-16 07:40:17

CloudWeGo開源Rust

2021-11-08 12:44:48

AndroidC++內存

2025-02-05 08:43:40

2022-12-05 09:55:01

漏洞AndroidRust

2023-11-28 08:29:31

Rust內存布局

2016-11-23 16:48:20

react-nativandroidjavascript

2024-01-15 11:56:55

lintersESLint

2022-07-20 10:33:50

RustGo內存管理

2012-04-16 17:20:31

IBM收購智慧商務

2013-07-23 06:47:55

Android內存機制Android堆和棧Android開發學習

2011-11-23 13:39:32

VPNVPN管理VPN管理方案

2016-12-05 16:33:30

點贊
收藏

51CTO技術棧公眾號

国产精品视频资源| 中文字幕精品国产| 91丨porny丨探花| 毛片在线播放网站| 国产资源精品在线观看| 久久99热这里只有精品国产| 波多野结衣影院| 国产激情欧美| 亚洲第一搞黄网站| 日本不卡二区高清三区| 国产精品爽爽久久久久久| 一区久久精品| 中文字幕欧美日韩va免费视频| 欧美一二三视频| 韩国无码一区二区三区精品| 国产精品99| 午夜精品久久久久久久久| 色综合电影网| 少妇av一区二区| 九九精品视频在线看| 韩国精品美女www爽爽爽视频| 成人在线手机视频| 青草久久视频| 91麻豆精品国产91久久久更新时间| 国产又粗又猛又爽又黄的网站| 国产二区在线播放| 成人h动漫精品一区二| 国产欧美一区二区白浆黑人| 五月激情六月丁香| 黄色成人在线网站| 色青青草原桃花久久综合| 国产一级二级视频| 天堂va在线高清一区| 日本福利一区二区| 免费毛片网站在线观看| 在线中文字幕第一页| 欧美激情一区二区三区在线| 九色91视频| 亚洲美女综合网| 国产麻豆精品在线| 国产精品免费网站| 日本视频在线观看免费| aⅴ色国产欧美| 欧美日韩国产成人| 日韩激情小视频| 日韩欧美1区| 国产亚洲精品综合一区91| xxxx黄色片| 欧美亚洲大陆| 亚洲黄色av女优在线观看| 麻豆tv在线观看| 伊人久久亚洲| 精品区一区二区| 日本黄色大片在线观看| 日韩第一区第二区| 日韩免费看网站| 下面一进一出好爽视频| 3d动漫一区二区三区在线观看| 欧美少妇xxx| 日韩av手机版| 四虎精品一区二区免费| 7777精品伊人久久久大香线蕉完整版 | 午夜免费看视频| 99re66热这里只有精品4| 色综合久久久久综合99| 欧美日韩在线免费播放| 国产一区二区三区朝在线观看| 欧美综合一区二区三区| 亚洲第一狼人区| 95精品视频| 日韩一卡二卡三卡四卡| 折磨小男生性器羞耻的故事| 欧美亚视频在线中文字幕免费| 亚洲欧美日韩精品| 中文字幕第20页| 久久久久久久久久久妇女| 欧美成人免费全部| 国产一级免费av| 99热这里只有精品8| 欧美有码在线视频| 美女黄页在线观看| 激情国产一区二区| 国产精品成人一区二区三区| 午夜视频在线播放| 国产精品午夜电影| 日本黄网站色大片免费观看| 123区在线| 在线看日本不卡| 亚洲制服中文字幕| 日韩伦理一区二区三区| 一本色道久久综合狠狠躁篇的优点| 99热这里只有精品4| 狠狠综合久久| 国产精品久久久久久久久久尿| 97caocao| 成人精品免费网站| 日韩精品久久一区二区三区| 日本资源在线| 91成人在线免费观看| 女人高潮一级片| 欧美亚洲大陆| 久久这里有精品视频| 91久久国产视频| 激情av综合网| 欧美日韩亚洲一区二区三区在线观看 | 久久国产精品免费观看| 自拍在线观看| 日韩一区二区免费在线观看| 久久精品成人av| 欧美精品一卡| 国产精品日韩精品| 欧美特黄一级视频| 综合色天天鬼久久鬼色| 久久久久久久久久久福利| 国色天香久久精品国产一区| 亚洲欧美激情视频| 国产一二三四在线| 久久aⅴ国产欧美74aaa| 久久久久久国产精品免费免费| 米奇精品一区二区三区| 色综合天天综合色综合av | 1204国产成人精品视频| 中文字幕欧美专区| 国产黄色免费观看| 成人中文字幕电影| 三年中国中文在线观看免费播放| 中文字幕成在线观看| 欧美大黄免费观看| 美女三级黄色片| 久久综合影音| 久久国产精品99久久久久久丝袜| 中文在线手机av| 欧美日本韩国一区| 国产精品免费无码| 小嫩嫩精品导航| 国产高清自拍一区| 亚洲男同gay网站| 91麻豆精品91久久久久同性| 亚洲天堂最新地址| 日本欧美一区二区| 色吧亚洲视频| 日韩高清在线| 国产亚洲美女精品久久久| 老熟妇仑乱一区二区av| 91色.com| 日韩网址在线观看| 神马久久av| 91精品国产乱码久久久久久蜜臀 | 欧美网站免费| 国产丝袜精品第一页| 中文字幕在线观看视频网站| aaa亚洲精品一二三区| 国产原创中文在线观看| 日本在线中文字幕一区| 欧美在线一区二区三区四| 午夜影院免费体验区| 欧美性精品220| 中文字幕在线1| 奇米精品一区二区三区四区| 亚洲高清不卡一区| 国模大尺度视频一区二区| 久久亚洲私人国产精品va| 99热这里只有精品1| 一区二区三区精品视频| 性农村xxxxx小树林| 亚洲精品字幕| 日本中文不卡| 亚洲综合资源| 欧美国产精品va在线观看| 三级在线观看网站| 日韩欧美主播在线| 国产黄色大片免费看| 国产呦萝稀缺另类资源| a级黄色片免费| 日本欧美高清| 国产日韩欧美在线看| 18网站在线观看| 亚洲国产精品久久久久久| www.国产一区二区| 国产精品三级久久久久三级| 乳色吐息在线观看| 国产亚洲在线观看| 亚洲人一区二区| 亚洲精品在线a| 国产mv免费观看入口亚洲| 日本三级视频在线播放| 精品国产精品网麻豆系列 | 日韩欧美专区在线| 在线观看黄网站| 国产精品免费人成网站| 国产成人精品一区二区三区在线观看 | 中文字幕+乱码+中文| 亚洲免费观看在线视频| 国产中文字幕一区二区| 捆绑调教一区二区三区| 欧美亚洲黄色片| 日韩精品看片| 精品无人乱码一区二区三区的优势 | 欧美日韩国产区| 黄色精品视频在线观看| av一区二区三区在线| 午夜激情av在线| 亚洲九九精品| 天天干天天色天天爽| 亚洲第一论坛sis| 成人免费观看网站| 国产成人精品一区二区三区免费| 国语对白做受69| 免费av在线网址| 一区二区三区无码高清视频| 高清毛片aaaaaaaaa片| 欧美卡1卡2卡| 日本视频www色| 精品美女国产在线| 欧洲猛交xxxx乱大交3| 中文字幕不卡的av| 国产精品300页| 粉嫩嫩av羞羞动漫久久久| 奇米影视四色在线| 三级亚洲高清视频| 久久视频这里有精品| 欧美一区精品| 日韩第一页在线观看| 欧美一区二区麻豆红桃视频| 另类欧美小说| 欧美精品国产白浆久久久久| 97人人香蕉| 亚洲日本va中文字幕| 91久久在线视频| 日韩精品一页| 国产精品免费在线免费 | 95在线视频| 亚洲欧美自拍一区| 日韩毛片在线一区二区毛片| 亚洲激情视频网站| 亚洲精品免费在线观看视频| 欧美一区二区三区啪啪| 一级特黄录像免费看| 欧美午夜在线一二页| 尤物视频免费观看| 色屁屁一区二区| 国产精品久久久久久人| 欧美日韩国产色| 国产 日韩 欧美 在线| 五月婷婷另类国产| 99精品视频99| 欧美日韩国产中文字幕| 成年人免费看毛片| 天天综合色天天| av大片在线免费观看| 色婷婷av一区二区三区大白胸| 亚洲不卡在线视频| 在线免费一区三区| 在线免费一区二区| 欧美网站大全在线观看| 波多野结衣一区二区在线| 91久久久免费一区二区| 欧美激情一区二区三区免费观看| 欧洲另类一二三四区| 一二三四区在线| 日韩午夜激情免费电影| 丰满肉嫩西川结衣av| 国产视频精品自拍| 岛国在线视频| 久久精品国产清自在天天线| 午夜伦理大片视频在线观看| 欧美激情在线观看视频| 午夜裸体女人视频网站在线观看| 日韩免费观看网站| 日韩午夜视频在线| 97久久精品午夜一区二区| 美日韩黄色大片| 日韩三级电影免费观看| 91精品二区| 精品国产一区三区| 日本欧美大码aⅴ在线播放| 女人高潮一级片| caoporn国产精品| 国产精品成人无码免费| 亚洲欧洲中文日韩久久av乱码| 朝桐光av在线| 欧美性猛交xxxx黑人猛交| 又污又黄的网站| 精品美女在线播放| 国产高清自拍视频在线观看| 久久五月天综合| 最新日韩精品| 91九色视频导航| 色愁久久久久久| 强开小嫩苞一区二区三区网站| 一区二区黄色| 日本77777| 久久女同互慰一区二区三区| 99久久99久久精品国产| 婷婷丁香久久五月婷婷| 又污又黄的网站| 日韩国产精品亚洲а∨天堂免| 国产又大又黄又粗又爽| 精品久久久中文字幕| 日韩中文字在线| 国产鲁鲁视频在线观看免费| 欧美mv日韩mv亚洲| 国产视频在线观看视频| 欧美伊人久久大香线蕉综合69 | 亚洲天堂美女视频| 懂色av中文字幕一区二区三区| 亚洲图色中文字幕| 久久精品99国产精品日本| 人妻丰满熟妇av无码区app| 一本色道精品久久一区二区三区| 97碰在线视频| 亚洲精品裸体| 免费在线观看视频a| 尤物在线精品| 欧美,日韩,国产在线| 99av国产精品欲麻豆| 2018中文字幕第一页| 一区在线观看| www国产精品内射老熟女| 亚洲伦理一区| 无码人妻h动漫| 久久国产精品99国产| 国产av无码专区亚洲精品| 久久婷婷丁香| 一区二区成人网| 久久精品国产免费| 黄色一级片免费播放| 国产不卡视频在线播放| 尤物网站在线观看| 久久久亚洲精品一区二区三区| 香蕉视频久久久| 中文字幕五月欧美| 久久久久久久久99| 欧美日韩色婷婷| 亚洲 欧美 日韩 综合| 在线观看视频一区二区| 中文字字幕在线中文乱码| 欧美精品少妇一区二区三区| 国产精品国产av| 亚洲精品一线二线三线无人区| 无码国产色欲xxxx视频| 一区二区三区国产视频| 在线激情小视频| 久久久久久久久久婷婷| 超级碰碰久久| 成人免费高清完整版在线观看| 成人激情自拍| 欧美高清一区二区| 888久久久| 91好吊色国产欧美日韩在线| 日本在线不卡视频| xxxx国产视频| 久久精品一区二区三区不卡牛牛| 欧美88888| 亚洲福利一二三区| 最好看的日本字幕mv视频大全| 日韩欧美一级特黄在线播放| 亚洲欧美一区二区三| 久久精品视频亚洲| 亚洲一区资源| 99r国产精品视频| 日韩大片在线播放| av在线观看地址| 日本视频免费一区| 国模私拍在线观看| 中文字幕一区二区5566日韩| 久草国产精品视频| 欧美久久久久免费| 青青草免费在线| 欧美俄罗斯性视频| 素人一区二区三区| 精品国产综合久久| 中文字幕日韩一区二区不卡| 少妇高清精品毛片在线视频| 韩国成人精品a∨在线观看| 免费a级黄色片| 亚洲香肠在线观看| 国产一区二区在线视频观看| 亚洲精品自在久久| 免费在线观看av电影| 国产日韩欧美91| 色哟哟精品丝袜一区二区| 欧美日韩视频免费| 国产一区二区三区综合| 亚洲第一综合网| 日韩欧美综合在线视频| 五月天激情婷婷| 欧美国产乱视频| 香港久久久电影| 黄色网络在线观看| 九九九久久久精品| 中文字幕美女视频| 欧美视频一区二区三区在线观看| 日漫免费在线观看网站| 韩日精品中文字幕| 97青娱国产盛宴精品视频| 干日本少妇视频| 国内精品第一页| 成人在线观看高清| 91麻豆精品国产91久久久资源速度 |