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

如何低開銷的監控JVM對象分配及分配對象的線程

開發 前端
JTreg框架中針對該特性有16個測試:使用多個線程打開/關閉,同時分配多個線程,測試數據是否以正確的間隔采樣,以及收集的堆棧是否反映正確的程序信息。

概要

提供一種低開銷的Java堆分配采樣方式,可通過JVMTI訪問。

目標

提供一種從JVM獲取Java對象堆分配信息的方法:

  • 開銷足夠低,可以在默認情況下連續啟用,
  • 可以通過定義良好的編程接口訪問,
  • 可以對所有的分配進行抽樣(即,不局限于一個特定堆區域中的分配或以一種特定方式分配的分配),
  • 可以以一種與實現無關的方式定義(即,不依賴于任何特定的GC算法或VM實現),以及
  • 可以提供有關活的和死的Java對象的信息。

動機

用戶非常需要理解堆的內容。糟糕的堆管理可能會導致堆耗盡和GC抖動等問題。因此,人們開發了許多工具來允許用戶自省他們的堆,例如Java Flight Recorder、jmap、YourKit和VisualVM工具。

大多數現有工具缺少的一個信息是特定分配的調用站點。堆轉儲和堆直方圖不包含此信息。此信息對于調試內存問題非常重要,因為它告訴開發人員代碼中發生特定(特別糟糕的)分配的確切位置。

目前有兩種方法從熱點獲取這些信息:

  • 首先,您可以使用字節碼重寫器(例如Allocation Instrumenter)來檢測應用程序中的所有分配。然后,您可以讓插裝進行堆棧跟蹤(當您需要時)。
  • 其次,您可以使用Java Flight Recorder,它在TLAB重新填充和直接分配到老一代時進行堆棧跟蹤。這樣做的缺點是:a)它綁定到特定的分配實現(TLABs),并且錯過了不符合該模式的分配;B)它不允許用戶自定義采樣間隔;c)它只記錄分配,所以你無法區分活對象和死對象。

該建議通過提供可擴展的JVMTI接口來緩解這些問題,該接口允許用戶定義采樣間隔并返回一組活動堆棧跟蹤。

描述

新的JVMTI事件和方法

這里提出的面向用戶的堆采樣特性API由JVMTI的擴展組成,該擴展允許進行堆分析。以下系統依賴于提供回調的事件通知系統,例如:

void JNICALL
SampledObjectAlloc(jvmtiEnv *jvmti_env,
JNIEnv* jni_env,
jthread thread,
jobject object,
jclass object_klass,
jlong size)

說明:

  • thread是分配對象的線程
  • object是對采樣對象的引用
  • object_klass是jobject的類
  • size是分配的大小

新的API還包括一個新的JVMTI方法:

jvmtiError  SetHeapSamplingInterval(jvmtiEnv* env, jint sampling_interval)

其中sampling_interval是兩次采樣之間分配的平均字節數。該方法的規格為:

  • 如果不為零,采樣間隔將被更新,并將用sampling_interval字節的新平均采樣間隔發送回調給用戶
  • 例如,如果用戶希望每兆字節采樣一次,則sampling_interval將是1024 * 1024。
  • 如果將0傳遞給方法,采樣器在考慮到新的間隔后對每個分配進行采樣,這可能需要一定數量的分配

注意,采樣間隔是不精確的。每次出現一個樣本時,在下一個樣本被選擇之前的字節數將是給定平均間隔的偽隨機。這是為了避免抽樣偏差;例如,如果相同的分配每512KB發生一次,512KB采樣間隔將始終對相同的分配進行采樣。因此,雖然采樣間隔并不總是選擇的間隔,但在大量的樣本之后,它會趨向于它。

用例示例

要啟用此功能,用戶將使用通常的事件通知調用來操作:

jvmti->SetEventNotificationMode(jvmti, JVMTI_ENABLE, JVMTI_EVENT_SAMPLED_OBJECT_ALLOC, NULL)

該事件將在分配初始化并正確設置時發送,因此略晚于實際代碼執行分配之后。缺省情況下,平均采樣間隔為512KB。

啟用采樣事件系統的最低要求是使用JVMTI_ENABLE和事件類型
JVMTI_EVENT_SAMPLED_OBJECT_ALLOC調用SetEventNotificationMode。要修改采樣間隔,用戶調用SetHeapSamplingInterval方法。

禁用方式,

jvmti->SetEventNotificationMode(jvmti, JVMTI_DISABLE, JVMTI_EVENT_SAMPLED_OBJECT_ALLOC, NULL)

禁用事件通知并自動禁用采樣器。

通過SetEventNotificationMode再次調用采樣器將使用當前設置的采樣間隔重新啟用采樣器(默認為512KB或用戶通過SetHeapSamplingInterval傳遞的最后一個值)。

新功能

為了保護新特性并使其成為VM實現的可選特性,在jvmtiCapabilities中引入了名為
can_generate_sampled_object_alloc_events的新功能。

全局/線程級采樣

使用通知系統提供了一種僅為特定線程發送事件的直接方法。這是通過SetEventNotificationMode完成的,并提供第三個參數,其中包含要修改的線程。

完整的例子

下面的部分提供代碼片段來演示采樣器的API。首先,啟用功能和事件通知:

jvmtiEventCallbacks callbacks;
memset(&callbacks, 0, sizeof(callbacks));
callbacks.SampledObjectAlloc = &SampledObjectAlloc;

jvmtiCapabilities caps;
memset(&caps, 0, sizeof(caps));
caps.can_generate_sampled_object_alloc_events = 1;
if (JVMTI_ERROR_NONE != (*jvmti)->AddCapabilities(jvmti, &caps)) {
return JNI_ERR;
}

if (JVMTI_ERROR_NONE != (*jvmti)->SetEventNotificationMode(jvmti, JVMTI_ENABLE,
JVMTI_EVENT_SAMPLED_OBJECT_ALLOC, NULL)) {
return JNI_ERR;
}

if (JVMTI_ERROR_NONE != (*jvmti)->SetEventCallbacks(jvmti, &callbacks, sizeof(jvmtiEventCallbacks)) {
return JNI_ERR;
}

// Set the sampler to 1MB.
if (JVMTI_ERROR_NONE != (*jvmti)->SetHeapSamplingInterval(jvmti, 1024 * 1024)) {
return JNI_ERR;
}

禁用采樣器(禁用事件和采樣器):

if (JVMTI_ERROR_NONE != (*jvmti)->SetEventNotificationMode(jvmti, JVMTI_DISABLE,
JVMTI_EVENT_SAMPLED_OBJECT_ALLOC, NULL)) {
return JNI_ERR;
}

要重新啟用1024 * 1024字節采樣間隔的采樣器,需要一個簡單的調用來啟用事件:

if (JVMTI_ERROR_NONE != (*jvmti)->SetEventNotificationMode(jvmti, JVMTI_ENABLE,
JVMTI_EVENT_SAMPLED_OBJECT_ALLOC, NULL)) {
return JNI_ERR;
}

抽樣分配的用戶存儲

當事件生成時,回調可以使用JVMTI GetStackTrace方法捕獲堆棧跟蹤。回調獲得的jobject引用也可以包裝成JNI弱引用,以幫助確定對象何時已被垃圾收集。這種方法允許用戶收集關于采樣對象的數據,以及仍然被認為是活動的對象的數據,這是了解作業行為的好方法。

例如,可以這樣做:

extern "C" JNIEXPORT void JNICALL SampledObjectAlloc(jvmtiEnv *env,
JNIEnv* jni,
jthread thread,
jobject object,
jclass klass,
jlong size) {
jvmtiFrameInfo frames[32];
jint frame_count;
jvmtiError err;

err = global_jvmti->GetStackTrace(NULL, 0, 32, frames, &frame_count);
if (err == JVMTI_ERROR_NONE && frame_count >= 1) {
jweak ref = jni->NewWeakGlobalRef(object);
internal_storage.add(jni, ref, size, thread, frames, frame_count);
}
}

如果internal_storage是一個可以處理采樣對象的數據結構,請考慮是否需要清理任何垃圾收集的樣本,等等。該實現的內部是特定于使用的,超出了這個JEP的范圍。

采樣間隔可以用作減少分析開銷的一種手段。使用512KB的采樣間隔,開銷應該足夠低,用戶可以合理地在默認情況下打開系統。

實現細節

目前的原型和實現證明了該方法的可行性。它包括五個部分:

  1. 由于ThreadLocalAllocationBuffer (TLAB)結構中字段名稱的更改,導致架構相關的更改。這些更改是最小的,因為它們只是名稱更改。
  2. TLAB結構增加了一個新的allocation_end指針,以補充現有的結束指針。如果禁用采樣,則兩個指針始終相等,代碼將像以前一樣執行。如果啟用了采樣,end將被修改為請求下一個采樣點的位置。然后,任何快速路徑都會“認為”TLAB在此時已經滿了,然后沿著慢路徑走,這在(3)中解釋過。
  3. gc/shared/collectedHeap代碼被更改,因為它被用作分配慢路徑的入口點。當TLAB被認為已滿(因為分配已傳遞結束指針)時,代碼進入collectedHeap并嘗試分配一個新的TLAB。此時,TLAB將恢復到其原始大小,并嘗試進行分配。如果分配成功,代碼對分配進行采樣,然后返回。如果沒有,則意味著TLAB的分配已經結束,需要一個新的TLAB。代碼路徑繼續其對新TLAB的正常分配,并確定該分配是否需要示例。如果分配被認為對TLAB來說太大,系統也會對分配進行抽樣,從而覆蓋TLAB分配內和TLAB分配外進行抽樣。
  4. 當請求一個示例時,堆棧上有一個收集器對象設置在一個安全的位置,用于將信息發送到本機代理。收集器跟蹤采樣分配,并在銷毀自己的幀時向代理發送回調。該機制確保對象被正確初始化。
  5. 如果JVMTI代理為SampledObjectAlloc事件注冊了回調,則該事件將被觸發,并且它將獲得抽樣分配。在libHeapMonitorTest.c文件中可以找到一個示例實現,該文件用于JTreg測試。

選擇

對于這個JEP中提出的系統,有多種替代方案。介紹中已經介紹了兩個:Flight Recorder提供了一個有趣的替代方案。這個實現提供了幾個優點。首先,JFR不允許設置抽樣大小或提供回調。其次,當緩沖區耗盡時,JFR使用緩沖區系統可能導致分配丟失。最后,JFR事件系統沒有提供跟蹤已被垃圾收集的對象的方法,這意味著不可能使用它來提供有關活動對象和垃圾收集對象的信息。

另一種替代方法是使用ASM的字節碼插裝。它的開銷讓人望而卻步,不是一個可行的解決方案。

這個JEP向JVMTI添加了一個新特性,JVMTI是用于各種開發和監視工具的重要API/框架。有了它,JVMTI代理可以使用低開銷的堆分析API以及其他JVMTI功能,這為工具提供了極大的靈活性。例如,由代理決定是否需要在每個事件點收集堆棧跟蹤。

測試

JTreg框架中針對該特性有16個測試:使用多個線程打開/關閉,同時分配多個線程,測試數據是否以正確的間隔采樣,以及收集的堆棧是否反映正確的程序信息。

風險和假設

禁用該特性不會造成性能損失或風險。沒有啟用系統的用戶不會感知到性能差異。

但是,啟用該特性會有潛在的性能/內存損失。在最初的原型實現中,開銷是最小的(<2%)。這使用了一個更重量級的機制來修改JIT代碼。在這里給出的最終版本中,系統依賴于TLAB代碼,并且不應該經歷這種回歸。

目前對Dacapo基準測試的評估顯示開銷為:

  • 禁用時為0%
  • 1%,當以默認的512KB間隔啟用該特性,但不執行回調動作(即SampledAllocEvent方法為空,但已注冊到JVM)。
  • 3%開銷,使用抽樣回調,執行簡單的實現來存儲數據(使用測試中的實現)
責任編輯:武曉燕 來源: 今日頭條
相關推薦

2018-04-08 08:45:53

對象內存策略

2023-09-27 08:49:23

.Net分配對象

2018-02-08 14:57:22

對象內存分配

2025-07-08 08:37:50

2012-01-11 10:45:57

JavaJVM

2019-07-29 10:10:06

Java內存線程安全

2015-11-16 11:22:05

Java對象內存分配

2021-07-30 07:22:51

JVM虛擬機棧 Stack

2019-09-04 15:31:04

JVM內存String

2010-09-25 15:40:52

配置JVM內存

2022-12-12 08:42:06

Java對象棧內存

2021-08-03 09:02:58

LinuxSlab算法

2013-11-07 09:42:42

對象對象池加速

2009-07-09 10:01:26

設置JVM內存分配

2025-04-11 08:42:10

Java對象TLAB

2009-10-27 17:39:39

Oracle用戶權限

2020-12-18 11:50:17

AI 數據人工智能

2021-03-22 11:51:22

Java內存棧上

2017-08-28 10:13:09

國家分配對象

2025-03-03 09:05:56

點贊
收藏

51CTO技術棧公眾號

欧美性猛交xxxx久久久| 成人黄色一级视频| 久久精品国产96久久久香蕉| 奇米777在线| 午夜羞羞小视频在线观看| 99精品热视频| 国产伦精品一区二区三区精品视频| 一本色道久久88| 136导航精品福利| 日本韩国欧美一区二区三区| 97超碰免费观看| 视频一区 中文字幕| 奇米精品一区二区三区在线观看 | 91黄色精品| 日韩精品1区2区| 国产精品99一区二区三| 精品丝袜一区二区三区| 午夜激情视频网| 午夜日韩成人影院| 亚洲v中文字幕| 免费成人进口网站| 超碰免费在线| 97精品超碰一区二区三区| 91天堂在线视频| 日韩乱码一区二区三区| 99精品免费| 九九热精品视频在线播放| 亚洲精品成人av久久| 美女主播精品视频一二三四| 日韩一区二区免费高清| 成年网站免费在线观看| 久久久一本精品| 亚洲成a人v欧美综合天堂下载 | 777色狠狠一区二区三区| 无码播放一区二区三区| heyzo高清国产精品| 亚洲色图制服丝袜| 中文字幕欧美日韩一区二区| 丁香婷婷在线观看| 91蝌蚪porny九色| 国产一区二区黄色| 欧美一级淫片免费视频魅影视频| 国产精品亚洲专一区二区三区 | 国产精品情趣视频| 欧美视频观看一区| 免费看男男www网站入口在线| 成人黄色网址在线观看| 成人午夜电影免费在线观看| 国产ts变态重口人妖hd| 国产呦萝稀缺另类资源| 国产一区红桃视频| 国产精品免费无遮挡| 奇米精品一区二区三区在线观看| 国产精品第三页| 中文字幕一区2区3区| 青娱乐精品在线视频| 国产精品久久中文| 亚洲视频一区在线播放| 久久se精品一区二区| 国产啪精品视频| 国产精品国产一区二区三区四区| 久久aⅴ国产欧美74aaa| 91理论片午午论夜理片久久| 99国产精品欲| 粉嫩高潮美女一区二区三区| 国产精品一区二区你懂得| 黄色成人一级片| av一区二区三区| 欧美日韩一区二| 日本中文字幕视频在线| 亚洲女同一区二区| 加勒比成人在线| 亚洲天堂导航| 欧美日韩精品二区第二页| 国产精品7m视频| www.色国产| 麻豆久久久久久久| 99在线视频首页| 色wwwwww| 国产精品国产三级国产aⅴ中文| 97超碰免费观看| xxxx成人| 欧美午夜不卡视频| 免费黄视频在线观看| 老司机成人在线| 中文国产成人精品久久一| 777777国产7777777| 在线不卡视频| 国产精品激情自拍| 国产99视频在线| 99精品久久久久久| 在线视频不卡国产| 阿v视频在线观看| 欧美午夜精品免费| 秘密基地免费观看完整版中文| 色婷婷精品视频| 久久精品视频一| 欧美不卡视频在线观看| 日韩中文字幕不卡| 国产精品久久久久久免费观看| 男人天堂亚洲二区| 亚洲激情一二三区| 国产激情在线观看视频| 永久免费精品视频| 最近中文字幕2019免费| 日本亚洲欧美在线| 韩国三级中文字幕hd久久精品| 国产区二精品视| 女女色综合影院| 色香蕉久久蜜桃| 国产一级免费片| 久久久久久美女精品| 日本亚洲欧美三级| 日韩在线视频第一页| 中文字幕在线一区| 无码内射中文字幕岛国片| 日韩精品一区二区三区中文在线| 亚洲免费影视第一页| 精品无码人妻一区二区三| 蜜桃在线一区二区三区| 久久99国产精品| 日皮视频在线观看| 69久久99精品久久久久婷婷 | 日本一区二区三区国色天香| 日韩视频在线视频| 麻豆一二三区精品蜜桃| 在线看福利67194| 人人草在线观看| 97se亚洲国产综合在线| 欧美亚洲黄色片| www.91精品| 日韩亚洲第一页| 这里只有久久精品视频| 久久久久高清精品| 男人操女人逼免费视频| 豆花视频一区二区| 欧美精品九九久久| 国模私拍视频在线| 一区二区三区不卡在线观看| 亚洲第一天堂久久| 国产精品久久久久久久| 国产精品亚洲第一区| 国产精品麻豆一区二区三区 | 国产乱码精品一区二三区蜜臂| 久久久久久亚洲综合影院红桃| 欧美色图色综合| 欧美色图五月天| 欧美影院久久久| 九一国产在线| 欧美主播一区二区三区美女| mm131美女视频| 久久久噜噜噜| 日日夜夜精品网站| 成人在线免费| 久久久极品av| 亚洲第一视频在线| 五月婷婷激情综合| 偷拍女澡堂一区二区三区| 欧美亚洲网站| 水蜜桃一区二区三区| 国产精品高潮久久| 日韩视频在线免费| 亚洲成人77777| 亚洲成人激情综合网| 欧美丰满少妇人妻精品| 久久天堂精品| 夜夜爽99久久国产综合精品女不卡 | 91精品久久久久久久久青青| 日本在线免费网| 日韩一区二区在线看片| 国产污视频在线观看| 久久影院视频免费| 在线能看的av网站| 韩国精品一区二区三区| 久久久久久亚洲精品不卡4k岛国| 性欧美videohd高精| 久久精品91久久久久久再现| 亚洲毛片欧洲毛片国产一品色| 五月开心婷婷久久| 久久精品在线观看视频| 国产成人精品一区二| 成熟了的熟妇毛茸茸| 精品产国自在拍| 亚洲在线免费看| 中文在线免费二区三区| 日韩在线播放av| 手机看片福利永久| 欧美日韩成人一区| 日产精品久久久久| 国产精品丝袜久久久久久app| 欧美性猛交乱大交| 欧美一级二区| 日韩精品一区二区免费| 成人羞羞视频在线看网址| 成人av蜜桃| 电影久久久久久| 久久99精品久久久久久噜噜| 久久这里精品| 欧美精品一区二区精品网| 伊人久久亚洲综合| 天天色天天操综合| 日本黄色免费片| 2019国产精品| www.欧美com| 麻豆一区二区三| av免费观看网| 一区三区视频| 日本xxxxx18| 精品国产一区二区三区噜噜噜 | 欧美视频一区| 亚洲自拍三区| 国产成人一区| 国产一区二区高清不卡| 日韩中文一区二区| 国产精品嫩草影院久久久| а√天堂8资源在线| 成人444kkkk在线观看| 成人午夜电影在线观看| 亚洲国产高潮在线观看| 国产成人精品无码高潮| 欧美日产在线观看| 日韩黄色片网站| 欧美性黄网官网| 日本道在线观看| 一区二区三区欧美| 国产精品九九九九九九| 亚洲欧洲日产国码二区| 日本少妇xxxxx| 久久久国产综合精品女国产盗摄| 亚洲精品乱码久久| av在线不卡免费看| 色婷婷免费视频| 粉嫩13p一区二区三区| 4438x全国最大成人| 国产一区二区精品在线观看| 亚洲免费av一区| 狠狠色丁香婷综合久久| 亚洲男人天堂av在线| 久久精品国产秦先生| 中文字幕一区久久| 国产一区二区不卡在线| 最新免费av网址| 国产精品伊人色| 国产成人精品一区二区三区在线观看 | 日本免费在线精品| 欧美日韩国产v| 国产精品久久久亚洲| 日本肉肉一区 | 91精品短视频| 国产成人看片| 色婷婷久久久| 日本一区高清在线视频| 清纯唯美日韩| 视频一区二区视频| 欧美国产高清| 日韩a∨精品日韩在线观看| 日韩午夜免费| 熟女人妇 成熟妇女系列视频| 日韩成人一区二区三区在线观看| 黄色成人免费看| 久色婷婷小香蕉久久| 国产探花在线观看视频| 国产成a人亚洲| 午夜男人的天堂| 91蜜桃网址入口| 国产农村妇女精品一区| 亚洲欧美激情视频在线观看一区二区三区| 国模无码国产精品视频| 五月激情六月综合| 这里只有久久精品视频| 日韩一级大片在线观看| 色哟哟国产精品色哟哟| 亚洲人av在线影院| 欧美一区二区三区| 久久久久久午夜| 第四色男人最爱上成人网| 91精品综合视频| 久久久久97| 亚洲午夜在线观看| 亚洲午夜91| 激情内射人妻1区2区3区| 国内精品伊人久久久久av一坑 | 成人av综合网| 手机在线观看国产精品| 欧美三级第一页| 亚洲黄色a v| 国产高清成人在线| 在线国产视频一区| 亚洲一区在线观看免费观看电影高清| 五月婷婷色丁香| 91精品国产色综合久久不卡电影| 午夜av免费在线观看| 日日骚av一区| 夜鲁夜鲁夜鲁视频在线播放| 91精品久久久久久综合乱菊 | 蜜桃视频一区二区在线观看| 免费一区视频| 中文字幕无码毛片免费看| 久久久久九九视频| 国产精品50页| 69久久99精品久久久久婷婷| 久久久久国产精品嫩草影院| 免费99精品国产自在在线| 色尼玛亚洲综合影院| 国产另类自拍| 欧美一区激情| 天天操天天爱天天爽| 99久久国产综合精品女不卡| av成人免费网站| 欧美日韩亚洲不卡| 日韩电影在线观看完整版| 九色91av视频| 亚洲精品aaa| 亚洲人成77777| 久久亚洲色图| 免费成人蒂法网站| 亚洲最新视频在线观看| 国产精品自偷自拍| 尤物yw午夜国产精品视频明星| 妞干网免费在线视频| julia一区二区中文久久94| 亚洲欧美在线专区| 污污网站免费看| 国产午夜精品一区二区三区嫩草| 香蕉视频一区二区| 欧美精品一区二区三区高清aⅴ | 日韩在线免费看| 九九热精品在线| 美女久久精品| 亚洲国产精品女人| 精品无人区卡一卡二卡三乱码免费卡| 欧美人妻一区二区三区| 色综合久久中文字幕综合网| 手机av在线免费观看| 992tv在线成人免费观看| 99久久香蕉| 国产真人做爰毛片视频直播| 成人午夜激情视频| 国产乡下妇女做爰毛片| 亚洲第一精品自拍| 丁香高清在线观看完整电影视频| 97se在线视频| 亚洲午夜一级| 性久久久久久久久久久| 五月天亚洲婷婷| 手机看片福利在线观看| 2021国产精品视频| 国产欧美日韩精品一区二区免费| 北条麻妃av高潮尖叫在线观看| 欧美国产日韩亚洲一区| 亚洲天堂777| 久久人体大胆视频| 91亚洲精品视频在线观看| 日韩人妻无码精品久久久不卡| av一区二区三区四区| 亚洲婷婷综合网| 视频直播国产精品| 久久伊人精品| 日韩国产一级片| 久久女同性恋中文字幕| 国产精品无码粉嫩小泬| 波霸ol色综合久久| 99亚洲乱人伦aⅴ精品| 欧美日韩一道本| 久久久久久影视| 97caocao| 91高潮在线观看| 久久人人99| 香蕉在线观看视频| 懂色aⅴ精品一区二区三区蜜月| www免费网站在线观看| 成人激情视频在线| 影音先锋久久久| 国产中年熟女高潮大集合| 欧美嫩在线观看| cao在线视频| 一区二区日本| 国内精品国产成人国产三级| 日韩成人在线播放| 97精品国产99久久久久久免费| 天天在线免费视频| 99免费精品在线| 国产又粗又猛又爽又黄的| 欧美激情精品久久久久久黑人| 亚洲欧美日本伦理| 国产精品999.| 欧美性猛交xxxx久久久| 高h视频在线观看| 免费电影一区| 国产成人综合自拍| 成人午夜精品视频| 欧美国产在线视频| 久久国产亚洲| 91黄色免费视频| 91精品国产综合久久香蕉的特点 | 精品国产aⅴ一区二区三区东京热 久久久久99人妻一区二区三区 | 天堂av一区二区| 成人免费av在线| 97在线播放免费观看| 奇米影视亚洲狠狠色|