日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

G1详解

發布時間:2023/12/20 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 G1详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

從CMS垃圾回收器缺點說起

1)過于占用CPU資源,犧牲吞吐量 ?-- 所有回收器的通病
2)并發清理階段存在浮動垃圾; ? -- 并發執行導致
3)fgc算法是標記清除,會產生磁盤碎片 -- 標記整理算法導致
4)新生代配合ParNewGC使用,存在STW問題。 --- 時間不可控,如果heap很大,可能GC時間很大,影響線上服務

G1起源

一款面向服務器的垃圾收集器,主要針對配備多顆處理器及大容量內存(大概6G以上)的機器;
G1從jdk7開始,jdk9被設為默認垃圾收集器;目標就是徹底替換掉CMS

G1內存分配策略

將內存分成一個一個的region,且不要求各部分是連續的。
每個Region的大小在JVM啟動時就確定,JVM通常生成2000個左右的heap區, 根據堆內存的總大小,區的size范圍為1-32Mb,一般4M.

region類型

三種常見: Eden, Survivor, 或 old generation(老年代)區
巨無霸區:保存比標準region區大50%及以上的對象,存儲在一組連續的區中.轉移會影響GC效率,標記階段發現巨型對象不再存活時,會被直接回收。
未使用區:未被使用的region
特別說明:某個region的類型不是固定的,比如一次ygc過后,原來的Eden的分區就會變成空閑的可用分區,隨后也可能被用作分配巨型對象

G1中重要的數據結構和算法

1 本地線程緩沖區,TLAB

Thread Local Allocation Buffer,默認啟用,分配在Eden空間,屬于單個線程,,每一個線程都有一個TLAB用于分配對象,避免了同步機制使對象盡快的分配出來。

2 晉升本地分配緩沖區,PLAB

Promotion Local Allocation Buffer,晉升的過程,無論是晉升到S還是OLd區,都是在GC線程的PLAB中進行。每個GC線程都有一個PLAB。

3 待收集集合,CSets

Collection Sets,GC中待回收的region的集合。CSet中可能存放著各個分代的Region。CSet中的存活對象會在gc中被移動(復制)。GC后CSet中的region會成為可用分區。
策略:由G1MixedGCLiveThresholdPercent參數控制的,old代分區中的存活對象比,達到閥值時,這個old分區會被放入CSet,后面會被執行回收整理。

4 卡表,Card Table

Java堆劃分為相等大小的一個個區域,這個小的區域(一般size在128-512字節)被當做Card,而Card Table維護著所有的Card。Card Table的結構是一個字節數組,Card Table用單字節的信息映射著一個Card。當Card中存儲了對象時,稱為這個Card被臟化了(dirty card)。 對于一些熱點Card會存放到Hot card cache。同Card Table一樣,Hot card cache也是全局的結構。

5 已記憶集合,RSets

RememberedSets,存儲著其他分區中的對象對本分區對象的引用,每個分區有且只有一個RSet。用于提高GC效率。
YGC時,GC root主要是兩類:棧空間和老年代分區到新生代分區的引用關系。所以記錄老年代分區對新生代分區的引用
Mixed GC時,由于僅回收部分老年代分區,老年代分區之間的引用關系也將被使用。所以記錄老年代分區之間的引用
因此,我們僅需要記錄兩種引用關系:老年代分區引用新生代分區,老年代分區之間的引用。
因為每次GC都會掃描所有young區對象,所以RSet只有在掃描old引用young,old引用old時會被使用。
詳細可參考: https://blog.csdn.net/a860MHz/article/details/97276211

6 Snapshot-At-The-Beginning(SATB)

SATB是在G1 GC在并發標記階段使用的增量式的標記算法。并發標記是并發多線程的,但并發線程在同一時刻只掃描一個分區。
在解釋SATB前先要了解三色標記法。三色標記法是將對象的存活狀態用三種顏色標記,從黑色到灰色逐層標記:
黑:該對象被標記了,并且其引用的對象也都被標記完成。
灰:對象被標記了,但其引用的對象還沒有被標記完。
白:對象還沒有被標記,標記階段結束后,會被回收。
問題場景:
有A->B->C,A是GCRoots關聯的對象,那么首先會把GC Roots 標記,也就是A標記成灰色(證明現在正在搜索A相關的),然后搜索A的引用,也就是B,那么搜索了B,把B變成了灰色,那么A就搜索完成了。A 就變成了黑色,證明 A 已經 ok 了。
此時準備要搜索 B 了。
剛好,此時,用戶線程要執行了,用戶線程把原來 A -> B -> C 的引用改成了 A -> C,同時 B 不再引用C。
最后,C 怎么辦,C還是白色的呢,白色的是不會搜索,當做垃圾處理的。
解決辦法
此時的解決辦法就是有一個叫做寫入屏障的東西。就是說,如果A已經被標記了(已經是黑色的了),那么用戶線程改動 A->C的時候,會把 C 變成灰色,這樣,以后就可以搜索 C了。

幾個問題:

G1的內存占用
如果從 ParallelOldGC或者CMS收集器遷移到G1, 會看到JVM進程占用更多的內存,云因就是上面的RSets、CSets、cardTable等。
但是這些加快了gc的速度,減少了stw的時間。

CSet是怎么維護的?怎么知道哪些是要回收的?
由G1MixedGCLiveThresholdPercent參數控制的,old代分區中的存活對象比,達到閥值時,說明該region可以被回收的對象比較多,這個old分區會被放入CSet,等待被GC。

cardTable和region是什么關系?對region的細分嗎?有什么用?
可以認為region切分為一個一個固定大小card。而CardTable是一個全局的存儲結構,其通過一個byte數組結構存儲了對于每個Card的Entry,其不需要太大的存儲空間。而RSet中的HashTable也就是一些其他Region(引用了RSet所在的Region)的card集合。
參考:https://blog.csdn.net/lijingyao8206/article/details/80513383

cardTable和RSets
RSets:哈希表來存儲,key是region index,value是card數組
cardTable:記錄多個cardPage信息,單個CardPage大小為512字節,卡表(Card Table)被實現為一個簡單的字節數組,即卡表的每個標記項為1個字節。當對一個對象引用進行寫操作時(對象引用改變),寫屏障邏輯將會標記對象所在的卡頁為dirty。如:
CARD_TABLE [this address >> 9] = 0;

G1垃圾回收方式

整體回收算法

收集整體是使用“標記-整理”,Region之間基于“復制”算法,GC后會將存活對象復制到可用分區(未分配的分區),所以不會產生空間碎片。

G1的GC類型

1)Ygc:僅處理年輕代region
2)MixedGc:包含所有年輕代以及部分老年代Region。
3)FullGc:全堆掃描,每個Region

GC原則

G1Gc會在無法分配對象或者巨型對象無法獲得連續分區來分配空間時,優先嘗試擴展堆空間來獲得更多的可用分區。
原則上G1會計算執行GC的時間,并且極力減少花在GC上的時間(包括ygc,mixgc),如果可能,會通過不斷擴展堆空間來滿足對象分配、轉移的需要。

youngGC

觸發:分配一般對象(非巨型對象)時,當所有eden的region使用達到最大閥值并且無法申請足夠內存時。
younggc會回收所有Eden以及Survivor區,并且將存活對象復制到Old區以及另一部分的Survivor區。到Old區的標準就是在PLAB中得到的計算結果。因為YoungGC會進行根掃描,所以會stop the world。
YoungGC的回收過程如下:
根掃描,跟CMS類似,Stop the world,掃描GC Roots對象。
處理Dirty card(即保存了對象的小區域), 更新RSet(分區間對象的引用關系)。
掃描RSet,掃描old區對象對于本young區的引用。
拷貝掃描出的存活的對象到survivor2或old區
處理引用隊列,軟引用,弱引用,虛引用

MixGC

觸發:一次YoungGc之后,老年代占據堆內存的百占比超過InitiatingHeapOccupancyPercent(默認45%)時,超過這個值就會觸發mixedGC。
混合回收都是基于復制算法進行的,把要回收的Region區存活的對象放入其他Region,然后這個Region全部清理掉,這樣就會不斷空出來新的Region;
有一個參數-XX:G1HeapWastePercent,默認值5%,即空出來的區域大于整個堆的5%,就會立即停止混合回收了。如正常默認回收次數是8次,但是可能到了4次,空閑Region大于整個堆的5%,就不會再進行后續回收了。

youngGC后,直接復用YoungGC的全局的根掃描結果(可提高效率),只回收部分老年代的Region
MixGc過程:
1)標記GCroots,一般直接復用YoungGC中的結果
2)根分區掃描(RootRegionScan)。這個階段GC的線程可以和應用線程并發運行。其主要掃描初始標記以及之前YoungGC對象轉移到的Survivor分區,并標記Survivor區中引用的對象。所以此階段的Survivor分區也叫根分區(RootRegion)
3)并發標記(ConcurrentMark)。會并發標記所有非完全空閑的分區的存活對象,也即使用了SATB算法,標記各個分區。
4)最終標記(Remark)。主要處理SATB緩沖區,以及并發標記階段未標記到的漏網之魚(存活對象),會STW,可以參考上文的SATB處理。
5)清除階段(Clean UP)。整理堆分區,調整相應的RSet(比如如果其中記錄的Card中的對象都被回收,則這個卡片的也會從RSet中移除),如果識別到了完全空的分區,則會清理這個分區的RSet。這個過程會STW。
6)對存活對象進行轉移(復制算法),轉移到其他可用分區,所以當前的分區就變成了新的可用分區。復制轉移主要是為了解決分區內的碎片問題。

FullGc

G1在對象復制/轉移失敗或者沒法分配足夠內存(比如巨型對象沒有足夠的連續分區分配)時,會觸發FullGC。
開始版本FullGC使用的是stop the world的單線程的Serial Old模式。
JDK10以后,Full GC已經是并行運行,在很多場景下,其表現還略優于 Parallel GC 的并行 Full GC 實現。
但是仍然要避免fgc。

G1適用場景

G1的首要目標是為需要大量內存的系統提供一個保證GC低延遲的解決方案. 也就是說堆內存最低在6GB及以上,穩定和可預測的暫停時間小于0.5秒.
如果應用程序具有如下的一個或多個特征,那么將垃圾收集器從CMS或ParallelOldGC切換到G1將會大大提升性能.
1)Full GC 次數太頻繁或者消耗時間太長.
2)受夠了太長的垃圾回收或內存整理時間(0.5-1s)

最佳實踐指導

1 不要設置年輕代的大小

通過 -Xmn 顯式地指定了年輕代的大小, 會干擾到 G1收集器的默認行為.
1)G1在垃圾收集時將不再關心暫停時間指標. 所以從本質上說,設置年輕代的大小將禁用暫停時間目標.
2)G1在必要時也不能夠增加或者縮小年輕代的空間. 因為大小是固定的,所以對更改大小無能為力.

G1收集器在運行的時候會調整新生代和老年代的大小。通過改變代的大小來調整對象晉升的速度以及晉升年齡,從而達到我們為收集器設置的暫停時間目標。設置了新生代大小相當于放棄了G1為我們做的自動調優。我們需要做的只是設置整個堆內存的大小,剩下的交給G1自己去分配各個代的大小。所以一般不要設置年輕代大小。
但在某些情況下,通過設置這些值會比G1算法更準確地反映新/舊堆的正確分布.

2 設置 XX:MaxGCPauseMillis=<N>

其值不應該使用平均響應時間,應該考慮使用目標時間的90%或者更小作為響應時間指標. 即90%的用戶(客戶端/?)請求響應時間不會超過預設的目標值;

3 轉移失敗

survivors 或 promoted objects 進行GC時如果JVM的heap區不足就會發生提升失敗(promotion failure). 堆內存不能繼續
擴充,因為已經達到最大值了. 當使用 -XX:+PrintGCDetails 時將會在GC日志中顯示 to-space overflow (to-空間溢出)。該操作很昂貴,原因如下:
1)GC仍繼續所以空間必須被釋放.?
2)拷貝失敗的對象必須被放到正確的位置(tenured in place).?
3)CSet指向區域中的任何 RSets 更新都必須重新生成(regenerated).?

避免轉移失敗的方法:
1)增加保留內存大小, 其默認值是 10;G1保留內存大小,非必須不會使用保留內存;即增大-XX:G1ReservePercent=n
2)更早啟動標記周期(marking cycle).即InitiatingHeapOccupancyPercent設置的小一點??
3)增加標記線程(marking threads)的數量. 合理設置-XX:ConcGCThreads=n

4 新生代優化-避免短生命對象進入老年代

預估每次Minor GC后存活下來對象的大小,合理的設置Survivor區,同時考慮高峰期間時,動態年齡判斷條件的影響,不要讓這種短生命周期對象僥幸逃脫進入老年代

5 老年代

系統的停頓時間時關鍵!是核心,要預測停頓時間,并不是越小越好,過小則回收效果不大
即-XX:MaxGCPauseMills參數優化
這個參數是核心點!如果參數設置的值很大,導致系統運行很久,新生代可能都占用了堆內存的60%了,此時才觸發新生代GC,那么存活下來的對象可能就會很多,此時就會導致Survivor區域放不下那么多的對象(或是動態年齡判定規則),就會進入老年代中。
如果參數設置過小,即使GC停頓時間很短,但GC頻率太大,比如說30秒觸發一次新生代gc,每次就停頓30毫秒,這樣也是很影響系統性能的。或者GC頻率過高,也可能會導致對象很容易就進入了老年代,這樣也是有問題

來源:
https://www.cnblogs.com/yuanzipeng/p/13374690.html
https://backstage.forgerock.com/knowledge/kb/article/a75965340

G1相關的參數

-XX:MaxGCPauseMillis=200 - 設置最大GC停頓時間指標,JVM會盡力實現,但不保證. 默認值為200毫秒.
-XX:InitiatingHeapOccupancyPercent=45 - 如果老年代占據了堆內存的45%的時候,此時會觸發一次mixGc。值為0則表示“一直執行GC循環)'. 默認值為45。
-XX:G1MixedGCLiveThresholdPercent:默認值是85%,確定要回收的Region的時候,必須是存活對象低于85%的Region才可以回收。
-XX:G1ReservePercent=n 設置堆內存保留為假天花板的總量,以降低提升失敗的可能性. 默認值是 10.
-XX:ConcGCThreads=n 并發垃圾收集器使用的線程數量. 默認值隨JVM運行的平臺不同而不同.
-XX:+UseG1GC - 讓 JVM使用G1垃圾收集器, jdk9被設為默認垃圾收集器;所以如果你的版本比較新則不再需要使用該參數
-XX:MetaspaceSize=256M 元空間,默認20M,確實有點小。
-XX:MaxMetaspaceSize=512M 最大元空間

下面參數不建議修改
-XX:G1NewSizePercent=5?? ?設置年輕代占整個堆的最小百分比,默認值是堆的5%。需要開啟-XX:UnlockExperimentalVMOptions
-XX:G1MaxNewSizePercent=60?? ?設置年輕代占整個堆的最大百分比,默認值是堆的60%。
-XX:NewRatio=n 新生代與老生代(new/old generation)的大小比例(Ratio). 默認值為 2.
-XX:SurvivorRatio=n eden/survivor 空間大小的比例(Ratio). 默認值為 8.
-XX:MaxTenuringThreshold=n 年輕代提升到年老代的最大臨界值. 默認值為 15.
-XX:G1HeapRegionSize=n region大小 ?默認值將根據 heap size 算出最優解;1M-32M
-XX:G1MixedGCCountTarget mixed回收執行次數,默認回收次數8。
-XX:G1HeapWastePercent,默認值是5%,就是說空出來的區域大于整個堆的5%,即使未達到回收次數,也會立即停止混合回收了。
如:默認回收次數是8次,但是可能到了4次,發現空閑Region大于整個堆的5%,就不會再進行后續回收了。

可參考官網說明:https://docs.oracle.com/en/java/javase/13/docs/specs/man/java.html

查看系統默認參數配置,如G1ReservePercent: ?java -XX:+PrintFlagsFinal ?| grep G1ReservePercent

JVM初始分配的堆內存由-Xms指定,默認是物理內存的1/64;
JVM最大分配的堆內存由-Xmx指定,默認是物理內存的1/4。
默認空余堆內存小于40%時,JVM就會增大堆直到-Xmx的最大限制;空余堆內存大于70%時,JVM會減少堆直到-Xms的最小限制。


G1的gc日志

ps -ef | grep java
其中-Xlog:gc*:file=/data/logs/gc_log/api-gc.log 說明了gc日志路徑

凌晨4點啟動后剛開始的日志:
?more /data/logs/gc_log/coding-api-gc.log
[0.004s][info][gc,heap] Heap region size: 4M //每個region大小
[0.033s][info][gc ? ? ] Using G1?
[0.033s][info][gc,heap,coops] Heap address: 0x0000000500000000, size: 12288 MB, Compressed Oops mode: Zero based, Oop shift amount: 3
[0.033s][info][gc,cds ? ? ? ] Mark closed archive regions in map: [0x00000007ffc00000, 0x00000007ffc79ff8]
[0.033s][info][gc,cds ? ? ? ] Mark open archive regions in map: [0x00000007ffb00000, 0x00000007ffb47ff8]
[0.046s][info][gc ? ? ? ? ? ] Periodic GC disabled

*************下面開始第一次gc
[1.844s][info][gc,start ? ? ] GC(0) Pause Young (Concurrent Start) (Metadata GC Threshold) //在新生代進行垃圾回收
[1.844s][info][gc,task ? ? ?] GC(0) Using 8 workers of 8 for evacuation ?//使用8條垃圾回收線程
[1.923s][info][gc,phases ? ?] GC(0) ? Pre Evacuate Collection Set: 0.7ms
[1.923s][info][gc,phases ? ?] GC(0) ? Evacuate Collection Set: 76.6ms
[1.923s][info][gc,phases ? ?] GC(0) ? Post Evacuate Collection Set: 1.2ms
[1.923s][info][gc,phases ? ?] GC(0) ? Other: 1.1ms
[1.923s][info][gc,heap ? ? ?] GC(0) Eden regions: 115->0(139)
[1.923s][info][gc,heap ? ? ?] GC(0) Survivor regions: 0->14(20)
[1.923s][info][gc,heap ? ? ?] GC(0) Old regions: 0->0
[1.923s][info][gc,heap ? ? ?] GC(0) Archive regions: 2->2
[1.923s][info][gc,heap ? ? ?] GC(0) Humongous regions: 0->0
[1.923s][info][gc,metaspace ] GC(0) Metaspace: 20586K->20586K(1067008K)
[1.923s][info][gc ? ? ? ? ? ] GC(0) Pause Young (Concurrent Start) (Metadata GC Threshold) 463M->56M(12288M) 79.600ms
[1.923s][info][gc,cpu ? ? ? ] GC(0) User=0.10s Sys=0.03s Real=0.08s

[1.923s][info][gc ? ? ? ? ? ] GC(1) Concurrent Cycle ?//并發標記周期 ? ??
[1.923s][info][gc,marking ? ] GC(1) Concurrent Clear Claimed Marks ? //初始標記
[1.923s][info][gc,marking ? ] GC(1) Concurrent Clear Claimed Marks 0.027ms
[1.923s][info][gc,marking ? ] GC(1) Concurrent Scan Root Regions ? //掃描GCroot所在的region
[1.938s][info][gc,marking ? ] GC(1) Concurrent Scan Root Regions 15.193ms
[1.938s][info][gc,marking ? ] GC(1) Concurrent Mark (1.938s) ?//并發標記
[1.938s][info][gc,marking ? ] GC(1) Concurrent Mark From Roots
[1.938s][info][gc,task ? ? ?] GC(1) Using 2 workers of 2 for marking
[1.942s][info][gc,marking ? ] GC(1) Concurrent Mark From Roots 3.189ms
[1.942s][info][gc,marking ? ] GC(1) Concurrent Preclean ? ? ?//并發預清理
[1.942s][info][gc,marking ? ] GC(1) Concurrent Preclean 0.123ms
[1.942s][info][gc,marking ? ] GC(1) Concurrent Mark (1.938s, 1.942s) 3.345ms
[1.942s][info][gc,start ? ? ] GC(1) Pause Remark ? //暫停標記
[1.943s][info][gc ? ? ? ? ? ] GC(1) Pause Remark 62M->62M(12288M) 1.449ms
[1.943s][info][gc,cpu ? ? ? ] GC(1) User=0.01s Sys=0.00s Real=0.00s
[1.943s][info][gc,marking ? ] GC(1) Concurrent Rebuild Remembered Sets ?//重新構建remembered sets
[1.944s][info][gc,marking ? ] GC(1) Concurrent Rebuild Remembered Sets 0.816ms
[1.944s][info][gc,start ? ? ] GC(1) Pause Cleanup
[1.945s][info][gc ? ? ? ? ? ] GC(1) Pause Cleanup 62M->62M(12288M) 0.377ms
[1.945s][info][gc,cpu ? ? ? ] GC(1) User=0.00s Sys=0.00s Real=0.00s
[1.945s][info][gc,marking ? ] GC(1) Concurrent Cleanup for Next Mark
[2.021s][info][gc,marking ? ] GC(1) Concurrent Cleanup for Next Mark 75.935ms
[2.021s][info][gc ? ? ? ? ? ] GC(1) Concurrent Cycle 97.722ms


[3.762s][info][gc,start ? ? ] GC(2) Pause Young (Concurrent Start) (Metadata GC Threshold)
[3.762s][info][gc,task ? ? ?] GC(2) Using 8 workers of 8 for evacuation
[3.813s][info][gc,phases ? ?] GC(2) ? Pre Evacuate Collection Set: 0.7ms
[3.813s][info][gc,phases ? ?] GC(2) ? Evacuate Collection Set: 48.3ms
[3.813s][info][gc,phases ? ?] GC(2) ? Post Evacuate Collection Set: 1.4ms
[3.813s][info][gc,phases ? ?] GC(2) ? Other: 0.6ms
[3.813s][info][gc,heap ? ? ?] GC(2) Eden regions: 121->0(149)
[3.813s][info][gc,heap ? ? ?] GC(2) Survivor regions: 14->4(20)
[3.813s][info][gc,heap ? ? ?] GC(2) Old regions: 0->14
[3.813s][info][gc,heap ? ? ?] GC(2) Archive regions: 2->2
[3.813s][info][gc,heap ? ? ?] GC(2) Humongous regions: 0->0
[3.813s][info][gc,metaspace ] GC(2) Metaspace: 35026K->35026K(1081344K)
[3.813s][info][gc ? ? ? ? ? ] GC(2) Pause Young (Concurrent Start) (Metadata GC Threshold) 538M->71M(12288M) 51.174ms
[3.813s][info][gc,cpu ? ? ? ] GC(2) User=0.25s Sys=0.05s Real=0.05s

11小時后下午3點左右的日志:
[38918.626s][info][gc,start ? ? ] GC(101) Pause Young (Normal) (G1 Evacuation Pause)
[38918.626s][info][gc,task ? ? ?] GC(101) Using 8 workers of 8 for evacuation
[38918.639s][info][gc,phases ? ?] GC(101) ? Pre Evacuate Collection Set: 0.6ms
[38918.639s][info][gc,phases ? ?] GC(101) ? Evacuate Collection Set: 10.4ms
[38918.639s][info][gc,phases ? ?] GC(101) ? Post Evacuate Collection Set: 1.8ms
[38918.639s][info][gc,phases ? ?] GC(101) ? Other: 0.6ms
[38918.639s][info][gc,heap ? ? ?] GC(101) Eden regions: 1840->0(1840)
[38918.639s][info][gc,heap ? ? ?] GC(101) Survivor regions: 3->3(231)
[38918.639s][info][gc,heap ? ? ?] GC(101) Old regions: 41->41
[38918.639s][info][gc,heap ? ? ?] GC(101) Archive regions: 2->2
[38918.639s][info][gc,heap ? ? ?] GC(101) Humongous regions: 2->2
[38918.639s][info][gc,metaspace ] GC(101) Metaspace: 156518K->156518K(1193984K)
[38918.639s][info][gc ? ? ? ? ? ] GC(101) Pause Young (Normal) (G1 Evacuation Pause) 7547M->186M(12288M) 13.485ms
[38918.639s][info][gc,cpu ? ? ? ] GC(101) User=0.09s Sys=0.00s Real=0.02s

[39117.315s][info][gc,start ? ? ] GC(102) Pause Young (Normal) (G1 Evacuation Pause)
[39117.315s][info][gc,task ? ? ?] GC(102) Using 8 workers of 8 for evacuation
[39117.328s][info][gc,phases ? ?] GC(102) ? Pre Evacuate Collection Set: 0.6ms
[39117.328s][info][gc,phases ? ?] GC(102) ? Evacuate Collection Set: 10.1ms
[39117.328s][info][gc,phases ? ?] GC(102) ? Post Evacuate Collection Set: 1.9ms
[39117.328s][info][gc,phases ? ?] GC(102) ? Other: 0.6ms
[39117.328s][info][gc,heap ? ? ?] GC(102) Eden regions: 1840->0(1840)
[39117.328s][info][gc,heap ? ? ?] GC(102) Survivor regions: 3->3(231)
[39117.328s][info][gc,heap ? ? ?] GC(102) Old regions: 41->41
[39117.328s][info][gc,heap ? ? ?] GC(102) Archive regions: 2->2
[39117.328s][info][gc,heap ? ? ?] GC(102) Humongous regions: 2->2
[39117.328s][info][gc,metaspace ] GC(102) Metaspace: 156519K->156519K(1193984K)
[39117.328s][info][gc ? ? ? ? ? ] GC(102) Pause Young (Normal) (G1 Evacuation Pause) 7546M->186M(12288M) 13.206ms
[39117.328s][info][gc,cpu ? ? ? ] GC(102) User=0.09s Sys=0.00s Real=0.01s

userTime是指gc花費的所有CPU時間之和,realTime是指gc暫停的實際時間。


下面三個都是什么含義??
[38918.626s][info][gc,start ? ? ] GC(101) Pause Young (Normal) (G1 Evacuation Pause) 新生代--發生于后期
[3.762s][info][gc,start ? ? ] GC(2) Pause Young (Concurrent Start) (Metadata GC Threshold) ?-元空間擴容- 項目啟動
[1.923s][info][gc ? ? ? ? ? ] GC(1) Concurrent Cycle ?//并發標記周期 ? ? 項目啟動
GC pause (G1 Evacuation Pause) (mixed)?
是不是沒有發生過mixedGc,需要一個機器不重啟查看,至今還沒弄明白


元數據擴容:
1)新生代并發回收 ?Pause Young (Concurrent Start) (Metadata GC Threshold)
2)并發周期標記 ? Concurrent Cycle
3)(Concurrent Start) (Metadata GC Threshold)
4) Concurrent Cycle
5) Pause Young (Concurrent Start) (Metadata GC Threshold)
6) Concurrent Cycle
7) Pause Young (Concurrent Start) (Metadata GC Threshold)
8) Concurrent Cycle

gc次數統計
jstat -gc 22332
?S0C ? ?S1C ? ?S0U ? ?S1U ? ? ?EC ? ? ? EU ? ? ? ?OC ? ? ? ? OU ? ? ? MC ? ? ? MU ? ? ? CCSC ? ?CCSU ? ? ?YGC ? ? YGCT ? ?FGC ? ?FGCT ? ?CGC ? ?CGCT ? ? GCT
?0.0 ?12288.0 ?0.0 ? 11505.7 7917568.0 4788224.0 4653056.0 ? 196096.5 163632.0 156534.1 19580.0 16987.9 ? ? 98 ? ?1.760 ? 0 ? ? ?0.000 ? 10 ? ? ?0.021 ? ?1.781


jstat -gc結果中CCSC和CCSU、CGC、CGCT分別是什么?
CCSC:壓縮類空間大小
CCSU:壓縮類空間使用大小
CGC:Concurrent gc,metaspace擴容的時候就發生了
CGCT:Concurrent gc time

G1的優缺點

缺點

region 大小和大對象很難保證一致,這會導致空間的浪費;特別大的對象是可能占用超過一個 region 的。并且,region 太小不合適,會令你在分配大對象時更難找到連續空間,這是一個長久存在的情況。
因為CSet、Rsets、CardTable等數據的存在,會比較耗費內存。

優點
1、可根據用戶設置停頓時間,制定回收計劃(但是也可能存在超出用戶的停頓時間). ?--- 最主要的目標
2、局部上來看是基于“復制”算法實現的,無磁盤碎片。
3、對GC停頓可以做更好的預測

總結

G1最大的特性/優點,就是對停頓時間的處理,一方面通過統計數據結構(會耗費更多內存)、參數配置實現控制和預測停頓時間,另一方面對于大內存的回收采取分批回收的方式,降低單次GC的停頓時間,避免影響主業務。

G1怎么實現的回收時間可控
1)追蹤每一個Region的回收價值,所謂回收價值就是根據設定的預期系統停頓時間,來選擇最少回收時間和最多回收對象的Region進行垃圾回收,保證每次回收都是最有效的回收
2)如果需要被Gc的對象很多,保證GC對系統停頓的影響在可控范圍內,采取分批循環回收的策略,盡量保證單次服務停頓滿足要求。
核心思想:貪心算法 + 分批回收

G1和CMS適用場景
實際用cms的挺多,也有更多經驗;
如果都不熟,先看看g1能否達到你的延遲、吞吐目標;
還有基礎配置,如堆大小,比較大,比如16g以上,建議優先g1;30G以上慎用CMS
如果gc是stw時間過長,一般也是通過G1來解決

最新的回收器

Epsilon GC,簡單說就是個不做垃圾收集的 GC,似乎有點奇怪,有的情況下,例如在進行性能測試的時候,可能需要明確判斷 GC 本身產生了多大的開銷,這就是其典型應用場景。
ZGC,Oracle開源出來的一個超級GC實現,具備令人驚訝的擴展能力,比如支持Tbytes 級別的堆大小,并且保證絕大部分情況下,延遲都不會超過10ms。雖然目前還處于實驗階段,僅支持 Linux 64 位的平臺,但其已經表現出的能力和潛力都非常令人期待。可參考:https://mp.weixin.qq.com/s/ag5u2EPObx7bZr7hkcrOTg

?


gc日志參考url
https://blog.csdn.net/weixin_43931625/article/details/105031002
https://www.cnblogs.com/javaadu/p/11220234.html
https://www.cnblogs.com/javaadu/p/11742585.html ?

優化參考:
https://blog.csdn.net/weixin_45410925/article/details/102386767
-XX:+UseStringDeduplication
https://blog.csdn.net/weishuai528/article/details/96899513
-Xms128M -Xmx2048M
可參考url:
https://blog.csdn.net/lijingyao8206/article/details/80513383 ---好文章
https://www.cnblogs.com/ASPNET2008/p/6496481.html??
https://blog.csdn.net/qq_27529917/article/details/86664677 --參數
https://blog.csdn.net/qq_43294955/article/details/105565152 --優質, G1垃圾回收器詳解與回收性能優化
https://docs.oracle.com/cd/E40972_01/doc.70/e40973/cnf_jvmgc.htm#autoId0

總結

以上是生活随笔為你收集整理的G1详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

欧美激情xxxx性bbbb | 精品视频成人 | 国产精品综合久久久久 | 成人午夜精品福利免费 | 日韩福利在线观看 | 亚洲在线不卡 | 亚洲欧美日韩精品久久久 | 欧美精品免费在线观看 | 精品福利在线视频 | 国产麻豆电影 | 国产精品涩涩屋www在线观看 | 91av在线免费看 | 国产999精品久久久久久 | 久久夜色精品国产欧美乱极品 | 在线看av的网址 | 99免费在线观看 | 精品国产乱码久久久久久浪潮 | 亚洲视频专区在线 | 久久人人97超碰精品888 | 黄色片网站大全 | av在线播放中文字幕 | 毛片www | 国产韩国精品一区二区三区 | 婷婷在线色 | 91看片淫黄大片一级在线观看 | 久久久免费观看完整版 | 一二三区在线 | 国产精品久久久久久久久软件 | 一区 二区电影免费在线观看 | 国产青春久久久国产毛片 | 色综合小说 | 久久综合久久综合九色 | 日韩欧美在线高清 | 黄色av免费电影 | 99久国产 | 丁香在线视频 | 91网免费观看 | 中文字幕亚洲欧美日韩2019 | 欧美日韩精品免费观看视频 | 98久久| 天天操综| .精品久久久麻豆国产精品 亚洲va欧美 | 91成人精品国产刺激国语对白 | 亚洲精品久久久久中文字幕m男 | 国产精品国产三级国产专区53 | 午夜电影一区 | 亚洲精品国产精品国自产观看浪潮 | 中文字幕欧美日韩va免费视频 | 亚洲91精品在线观看 | 少妇性色午夜淫片aaaze | 又黄又爽又色无遮挡免费 | 国产精彩视频一区 | 亚洲精品在线免费看 | 亚洲观看黄色网 | 日韩欧美在线视频一区二区三区 | 免费人成在线观看网站 | 成年人免费在线观看网站 | 久久人人97超碰国产公开结果 | bbw av| 国产精品久久久区三区天天噜 | 国产一区免费视频 | mm1313亚洲精品国产 | 国产啊v在线 | 狠狠色丁香婷婷综合最新地址 | 香蕉久草| 免费a级黄色毛片 | 午夜久久精品 | 97视频免费在线 | 黄污网| 中文字幕乱码一区二区 | 免费av网址在线观看 | 综合黄色网 | 黄色精品一区二区 | 国产精品欧美久久久久无广告 | 日本三级中文字幕在线观看 | 国产在线免费 | 亚洲国产精品一区二区久久,亚洲午夜 | 亚洲国产精品资源 | av蜜桃在线 | 一区二区三区在线播放 | 97国产一区| 人人澡人人模 | 国产精品免费久久久久久久久久中文 | 又黄又爽又刺激的视频 | 国产精品久久99综合免费观看尤物 | 国产欧美日韩一区 | 日韩av免费在线看 | 99在线精品视频在线观看 | 久久在线视频在线 | 激情综合色播五月 | 久久久国产一区二区三区 | 国产亚洲精品久久久久久电影 | av片中文字幕 | 探花视频在线版播放免费观看 | 人人干97| 色吧av色av| 91亚洲精品在线观看 | av黄色在线播放 | 欧美精品久久久久久久 | 97超碰.com | 久久九九久久精品 | 91久久奴性调教 | 国产精品免费视频一区二区 | 久久综合欧美精品亚洲一区 | 亚洲aⅴ一区二区三区 | 精品视频在线观看 | 黄色在线免费观看网址 | 在线一二区 | 午夜精品久久久久久中宇69 | 日韩电影久久久 | 国产亲近乱来精品 | 超碰个人在线 | 狠狠干夜夜 | 国产大陆亚洲精品国产 | 久艹在线播放 | 天天操天天干天天玩 | 欧洲黄色片 | 国际精品久久久久 | 久久99精品国产99久久 | av免费网页 | 特级片免费看 | 亚洲在线不卡 | 欧美日韩国产一区二 | 91麻豆精品国产自产 | 男女啪啪网站 | 国产麻豆精品免费视频 | 免费男女羞羞的视频网站中文字幕 | 最近中文字幕在线播放 | 国产成人亚洲在线电影 | 亚洲 欧美 国产 va在线影院 | 国产麻豆视频网站 | 国产精久久久久久久 | 国产视频精品在线 | 黄色免费网站 | 中文字幕欧美三区 | 免费国产视频 | av在线免费不卡 | 欧美成人免费在线 | 天天综合入口 | 在线免费观看黄网站 | 日本视频久久久 | 久久久精品国产一区二区 | 天天狠狠干| 亚洲三级黄色 | 在线色吧| 99久久精品国产亚洲 | 一区二区三区久久精品 | 夜夜爽天天爽 | 国产精品久久久久久久久久 | 色综合久久99 | av免费电影网站 | 国产激情久久久 | 精品福利在线 | 91精品久久久久久久99蜜桃 | 久久久久 | 色干综合 | 久久久久久毛片精品免费不卡 | 青青河边草免费观看 | 一级片免费观看 | 最近字幕在线观看第一季 | 免费看一及片 | 国产精品一区二区三区观看 | 中文在线www | 欧美日韩精品在线一区二区 | 精品国产精品久久 | 果冻av在线 | 日本性生活免费看 | 久久久久久网站 | 久久国产精品久久国产精品 | 久草国产在线观看 | 亚洲精品乱码久久久久久蜜桃91 | 91高清视频在线 | 精品成人在线 | 国产亚洲精品成人av久久ww | 麻豆视屏| 久久久精品二区 | 国产精品久久久99 | 国内精品视频久久 | 可以免费观看的av片 | 亚洲乱码精品久久久 | 在线成人免费电影 | 日本黄色免费在线 | 超碰人人av | 亚洲精品在线二区 | 三级黄色理论片 | 久章草在线观看 | 国产精品系列在线播放 | 欧美午夜视频在线 | 国产精品私人影院 | 在线激情影院一区 | 日韩天堂在线观看 | 天堂中文在线视频 | 草久在线视频 | 免费观看av网站 | 人人爽人人澡人人添人人人人 | 成人在线电影观看 | 日韩欧美在线观看 | 日日干美女 | 久久不卡电影 | 久99精品| 久久精品日产第一区二区三区乱码 | 在线成人短视频 | ,午夜性刺激免费看视频 | www.久久免费视频 | 国产伦精品一区二区三区在线 | 亚洲成人家庭影院 | 一区在线观看 | 碰超在线 | 国产在线观看你懂得 | 91在线视频精品 | 久久精品久久久久久久 | 久久爱导航 | 久久精品欧美一区 | 日韩欧美一区二区三区视频 | 日韩视频三区 | www.亚洲视频 | 日韩欧美精品在线观看视频 | 日韩中文字幕免费电影 | 91丨九色丨勾搭 | 久久久久成人精品免费播放动漫 | 国产日韩中文在线 | 日韩高清一区在线 | 天天综合网 天天 | 波多野结衣在线观看视频 | 欧美日韩在线观看一区二区三区 | 欧美性生活免费 | 久久久国产精品电影 | 国产亚洲精品成人av久久影院 | 天天操天天摸天天射 | 激情综合色综合久久综合 | 99精品欧美一区二区三区黑人哦 | 国产精品1000 | 成年人在线免费视频观看 | 日韩中文字幕在线不卡 | 国产欧美高清 | 久久久久亚洲精品中文字幕 | 中文字幕免费中文 | 欧美日韩一区二区三区在线观看视频 | 日韩av中文字幕在线免费观看 | 最近日本mv字幕免费观看 | 久久久免费播放 | 97超级碰碰碰视频在线观看 | 欧美久久久久久久 | 国产成人精品av久久 | 精品国产乱码 | 五月激情姐姐 | 中文字幕精品一区二区三区电影 | 成年一级片 | 亚洲精品成人 | 在线观看a视频 | 视频一区在线免费观看 | 国产日女人| 97视频在线免费观看 | 激情大尺度视频 | 欧美日韩不卡一区二区 | 亚洲伊人成综合网 | 99视频在线观看一区三区 | 日韩一级网站 | 久久高视频 | 亚洲精品在线一区二区 | 天天操天天摸天天射 | 69亚洲视频 | 国产亚洲无 | 日韩精品欧美一区 | 天天干天天操天天干 | 久久精品久久久久电影 | 超碰av免费| 久久久久久久综合色一本 | 国产视频日韩 | 免费99精品国产自在在线 | 九九视频一区 | 亚洲成人精品 | 日韩字幕 | 嫩模bbw搡bbbb搡bbbb | 国产一区二区在线免费观看 | 日韩黄色免费看 | 精品久久久久久久久久岛国gif | 97精品视频在线播放 | 国产精品久久久久一区 | 国产1区2区3区精品美女 | 国产自产在线视频 | 麻花豆传媒一二三产区 | 国产中文 | 国产成人精品免高潮在线观看 | 一级黄色a视频 | 久久99热这里只有精品国产 | 国产色拍拍拍拍在线精品 | 免费日韩三级 | 国产精品美女久久久久久网站 | 亚洲精品一区二区18漫画 | 亚洲国产精品小视频 | 黄色午夜网站 | 一区二区三区日韩精品 | 在线观看亚洲精品 | 欧美久草视频 | 国产精品女同一区二区三区久久夜 | 伊人国产视频 | 亚洲人人射 | 欧美色图30p| 一区二区三区免费 | 国产美腿白丝袜足在线av | 日韩有码中文字幕在线 | 成av在线 | 亚洲综合视频在线 | 国产精品高潮呻吟久久久久 | 欧美一区二区伦理片 | 国产欧美精品一区二区三区四区 | 亚洲午夜精品一区 | 91成人在线视频 | 国产精品99久久久久久久久久久久 | 日韩在线 | 精品视频免费播放 | 久久久久国产一区二区三区四区 | 免费成视频 | 99精品区| 久久免费影院 | 天天操天天操天天操天天操 | 日韩久久精品一区二区 | 色插综合 | 久久久久久视频 | 在线免费观看黄色 | 日韩xxxbbb | 视频一区二区三区视频 | 国内精品一区二区 | 精品久久久一区二区 | 国产无遮挡又黄又爽在线观看 | www.国产在线视频 | 国产视频首页 | 久色免费视频 | 福利视频一区二区 | 日韩久久久久 | 国产麻豆精品95视频 | 亚洲欧美日韩一二三区 | 国产999在线| 国产精品手机在线播放 | 欧美日韩1区2区 | 日韩综合一区二区三区 | 亚洲精品18日本一区app | 亚洲自拍偷拍色图 | 国产成人精品亚洲日本在线观看 | 国产精品国产三级国产aⅴ入口 | 亚洲免费在线观看视频 | 97在线观看视频免费 | 久久手机免费观看 | 欧美一级久久久久 | 免费欧美| 网站免费黄色 | 中文字幕传媒 | 成人免费视频在线观看 | 久久免费看毛片 | 在线观看精品视频 | 国产一级一级国产 | 国产一级黄色av | 国产亚洲综合精品 | 欧美一级日韩三级 | 久久综合狠狠综合久久激情 | 美女久久久久久久 | 国产a国产a国产a | 午夜视频不卡 | 久久五月婷婷丁香社区 | 日本公妇在线观看高清 | 日本精品视频在线观看 | 狠狠操天天射 | 丁香九月激情 | 97超碰人人澡人人爱 | 4438全国亚洲精品观看视频 | 成人h动漫精品一区二 | 91精品老司机久久一区啪 | 亚洲国产资源 | 91视频国产免费 | 成人在线你懂得 | 久久久久久久久久免费 | 久久神马影院 | 久久综合狠狠综合久久综合88 | 国产精品黑丝在线观看 | 一区av在线播放 | 精品久久久久久久久久久久 | 久久婷婷五月综合色丁香 | 久久新 | 亚洲欧美国产日韩在线观看 | 99r在线| 91爱看片 | 国产精选在线 | 欧美一级艳片视频免费观看 | 精品国产一区二区三区四区vr | 久久好看免费视频 | 人人爽人人av | 亚洲91中文字幕无线码三区 | 成人在线观看免费视频 | 一 级 黄 色 片免费看的 | 国产在线精品观看 | 欧美乱码精品一区 | 国产精品免费久久 | 99热这里有 | 9999亚洲| 国产精品午夜av | 激情欧美xxxx | 亚洲精品视频在线观看视频 | 午夜av免费观看 | 91chinesexxx| 91在线观看欧美日韩 | 一区二区理论片 | 亚洲国产成人久久综合 | 国产美女免费观看 | 精品夜夜嗨av一区二区三区 | 中文字幕久久网 | 精品伦理一区二区三区 | 福利视频精品 | 人人爽人人爽人人爽 | 婷婷激情久久 | 干av在线 | 菠萝菠萝蜜在线播放 | 中文字幕永久免费 | 国产91丝袜在线播放动漫 | 婷婷中文字幕综合 | 久久tv视频 | 国产成人无码AⅤ片在线观 日韩av不卡在线 | 2018精品视频 | 国产一级高清视频 | 日韩精品在线视频 | 亚洲第一久久久 | 天天做天天爱天天爽综合网 | 不卡的av在线 | 黄网站免费大全入口 | 黄网站免费久久 | 日韩免费三级 | 国内免费久久久久久久久久久 | 国产精品日韩久久久久 | 麻豆高清免费国产一区 | 久久久国产精品视频 | 亚洲理论影院 | 久久激情五月丁香伊人 | 久久怡红院 | 在线国产视频观看 | 96精品视频 | 国产精品日韩在线观看 | 黄色三几片| 欧美伦理一区二区三区 | 久久精品国产第一区二区三区 | 色噜噜日韩精品一区二区三区视频 | 亚洲成人在线免费 | 亚洲少妇天堂 | 91九色在线视频 | 日韩免费视频线观看 | 免费在线91 | 国产成人精品999 | 亚洲综合欧美精品电影 | 午夜少妇一区二区三区 | 欧美亚洲另类在线视频 | 中文字幕永久免费 | 黄色大片日本 | 免费黄色在线网址 | 欧美激情在线网站 | 久久情侣偷拍 | 天天视频色版 | 久久99久久99精品免费看小说 | 国产视频 久久久 | 福利视频导航网址 | 玖玖色在线观看 | 91av在线看| 500部大龄熟乱视频 欧美日本三级 | 九九热av| 午夜精品久久久久久久久久久 | 国产一区二区在线免费 | 粉嫩aⅴ一区二区三区 | 久久免费观看视频 | 一区二区三区 中文字幕 | 久久精品视频3 | 香蕉视频国产在线观看 | 午夜三级大片 | 天天射综合| 色偷偷人人澡久久超碰69 | 碰超在线观看 | 国产中文字幕大全 | 国产精品不卡在线观看 | 天天爱天天操 | 亚洲欧美乱综合图片区小说区 | 日韩精品免费 | 99精品欧美一区二区三区 | 911精品美国片911久久久 | 999在线视频 | 精品国产乱码 | 亚洲精品国产精品国产 | 久久论理 | 婷婷久久综合网 | 九色视频网站 | 日本中文字幕视频 | 中文字幕一区二区三区精华液 | 中文字幕婷婷 | 亚洲精品玖玖玖av在线看 | 国产亚洲人成网站在线观看 | 欧美a级一区二区 | 美女视频一区二区 | 中文字幕在线观看完整 | 国产中文 | 97电影在线观看 | 久久久免费精品国产一区二区 | 久久精品在线免费观看 | 蜜臀一区二区三区精品免费视频 | 亚洲成人国产精品 | 国产一级黄 | 在线观看免费高清视频大全追剧 | 99久热在线精品 | 色婷婷狠狠五月综合天色拍 | 欧美精品一二三 | 色噜噜在线观看 | 在线观看免费视频你懂的 | 亚洲精品乱码久久久久久9色 | 好看的国产精品视频 | 国内三级在线 | 中文字幕在线观看免费高清完整版 | 99热这里有| www.国产毛片| 激情欧美xxxx| 国产精品视频免费在线观看 | 一区二区在线影院 | 91免费在线播放 | 天天插天天射 | 国产亚洲一区二区在线观看 | 国产精品久一 | 色偷偷88888欧美精品久久久 | 国产黄色大片免费看 | 激情久久一区二区三区 | 免费试看一区 | 成人国产精品免费观看 | av天天在线观看 | 国产剧情久久 | 黄色影院在线免费观看 | 国产精品v欧美精品v日韩 | www.亚洲激情.com | 爱射综合| 在线免费亚洲 | 亚洲一区二区高潮无套美女 | 国产午夜精品一区二区三区四区 | 九九久久国产 | 欧美极度另类性三渗透 | 欧美成人tv | 欧美韩日精品 | 欧美一级黄色网 | 夜夜澡人模人人添人人看 | 麻豆精品视频在线观看免费 | 亚洲乱亚洲乱妇 | 久久免费国产精品 | 久久女教师 | 99一级片 | 亚洲精品国偷拍自产在线观看 | 视频在线观看日韩 | 精品亚洲欧美无人区乱码 | 欧美极品xxxx | 亚洲国产精品va在线 | 久久99操| 国产精品一区一区三区 | 婷婷视频在线 | 国产只有精品 | 成人免费视频网 | 国产999精品久久久久久麻豆 | 国产色婷婷 | 99视频这里有精品 | 免费在线观看av电影 | 日本久久久久久久久 | 日韩网站中文字幕 | 96亚洲精品久久久蜜桃 | 婷婷丁香色 | 国产精品第一页在线观看 | 欧美aaa级片 | 国内免费的中文字幕 | 在线观看免费成人av | 久久国语露脸国产精品电影 | 色婷婷福利视频 | 成年人av在线播放 | 精品在线99 | 五月激情五月激情 | 91成人免费| 亚洲美女免费视频 | 亚州国产精品视频 | 国产精品午夜在线 | 狠狠狠狠狠狠干 | 成人精品视频 | 欧美激情视频在线观看免费 | 国产 欧美 在线 | va视频在线观看 | 奇米四色影狠狠爱7777 | 8090yy亚洲精品久久 | 综合天堂av久久久久久久 | 爱av在线网 | 又湿又紧又大又爽a视频国产 | 你操综合| 国产不卡网站 | 日免费视频 | 精品亚洲欧美无人区乱码 | 亚洲精品国产精品国产 | 国产精品久久久久久久久久了 | 91系列在线观看 | 在线观看网站av | 免费在线观看午夜视频 | 成人免费色 | 日韩v欧美v日本v亚洲v国产v | 国产一区二区视频在线 | 亚洲精品88欧美一区二区 | 国产特级毛片 | 久久婷婷国产 | 亚洲一区视频免费观看 | 国产97碰免费视频 | 国产在线精品一区二区不卡了 | 黄网站app在线观看免费视频 | 日韩免费不卡视频 | 午夜三级理论 | 婷婷久久亚洲 | 二区视频在线 | 人人干人人爽 | 久久久久久久亚洲精品 | 97精品伊人 | 久久婷亚洲五月一区天天躁 | 人人干人人艹 | 综合色在线观看 | 在线看成人片 | 亚洲精品在线观看中文字幕 | 色香com. | 色综合久久综合 | 国产午夜免费视频 | 成人禁用看黄a在线 | 91精品91 | 亚洲国产精品久久久久久 | 国产成人精品一区二区三区福利 | 夜夜操天天 | 午夜精品福利一区二区 | 亚洲激情精品 | 国产青青青 | 天天干视频在线 | 亚洲视频综合在线 | 国产区免费 | 91精品导航 | 波多野结衣视频一区 | 久久只精品99品免费久23小说 | 月下香电影 | 激情视频在线观看网址 | 在线天堂中文www视软件 | av东方在线 | 黄色网免费 | 久久美女免费视频 | 欧美色精品天天在线观看视频 | 久久久久久久久久久久电影 | 色九色| 欧美 日韩 视频 | 久久草草热国产精品直播 | 日韩在线观看视频中文字幕 | 99视频一区二区 | 国产视频精品免费 | 国产亚洲精品久 | 草久电影 | 天天综合亚洲 | 亚洲 欧洲av | 国产黄色精品在线 | 99九九热只有国产精品 | 久久男人中文字幕资源站 | 中文字幕一二 | 亚洲视频久久 | 婷婷亚洲最大 | 日韩激情视频在线 | 久久精品亚洲国产 | 午夜久草| 日韩高清一区二区 | 国产精品久久久久久久婷婷 | 国产99一区二区 | 99精品在线观看 | 亚洲 欧美变态 另类 综合 | 久久只精品99品免费久23小说 | 成人国产精品一区 | 亚洲综合在线观看视频 | 亚洲国产成人高清精品 | 日本中文乱码卡一卡二新区 | 波多野结衣小视频 | 久草在线视频新 | 成人在线免费看 | 天天色天| 亚洲在线a | 亚洲精品在线观看的 | 丁香视频| 99视频免费 | 香蕉视频免费在线播放 | 96久久精品| 超薄丝袜一二三区 | 日韩视频中文字幕在线观看 | 国产色拍拍拍拍在线精品 | 狠狠干我 | 免费观看www小视频的软件 | 91大神在线看 | 日韩在线看片 | 91夜夜夜 | 国产精品一区二区久久 | 日韩精品视频在线免费观看 | 最新av免费在线观看 | av福利在线播放 | 91麻豆免费视频 | 久久伊人精品天天 | 亚洲天堂激情 | 欧美a在线看 | 亚洲国产精品va在线 | 婷婷精品| 91热爆视频 | 色婷婷激情五月 | 欧美有色 | 五月婷婷综合在线视频 | av中文字幕亚洲 | 亚洲激情综合网 | 国产尤物一区二区三区 | 黄污网站在线 | av一级黄| 懂色av一区二区三区蜜臀 | 国产一区二区三区四区大秀 | 操操日 | 国产黄网站在线观看 | 亚洲乱码在线 | 日日夜夜精品视频天天综合网 | 国产亚洲精品v | 免费大片av| 日本中文字幕一二区观 | 美女在线免费观看视频 | 日本中文一级片 | 国产亚洲va综合人人澡精品 | 婷婷四房综合激情五月 | 久久久成人精品 | 五月婷婷中文网 | 亚洲色视频 | 中文字幕乱在线伦视频中文字幕乱码在线 | 色多视频在线观看 | 国产日韩欧美在线免费观看 | 成年人在线免费看片 | 麻豆视频一区二区 | 日日草天天草 | 国产高清专区 | 中文字幕乱在线伦视频中文字幕乱码在线 | 91观看视频| 91视频91自拍 | 国产乱对白刺激视频不卡 | 久久亚洲在线 | 国内精品毛片 | a在线一区 | 日韩最新av在线 | 欧美a影视 | 99色视频在线| 日韩视频免费观看高清 | 国产精品自拍在线 | 天堂av免费 | 久久久久久久久久久影视 | 精品国产免费观看 | 99精品国产在热久久下载 | 91精品区| 国产欧美综合在线观看 | 狠狠色丁香婷婷综合久小说久 | 亚洲精品视频免费看 | 国产亚洲午夜高清国产拍精品 | 国产精品第52页 | 在线亚洲人成电影网站色www | 久久精品婷婷 | 免费69视频 | 中文字幕乱码视频 | 亚洲激情 欧美激情 | 国产精品久久久久久久久久直播 | 国产精品一区一区三区 | www.av在线.com| 国产精品igao视频网入口 | 狠狠搞,com| 高清一区二区三区 | 久久国产精品视频观看 | 99精品久久久| 久久久五月天 | 高潮久久久| 国产成人一区在线 | 丁香花在线观看免费完整版视频 | 99精品国产在热久久下载 | 亚洲精区二区三区四区麻豆 | 成人国产精品电影 | 亚洲精品午夜国产va久久成人 | 91字幕 | 亚洲一区视频免费观看 | 亚洲综合在线一区二区三区 | 人人天天夜夜 | 中文字幕欧美三区 | 中文国产字幕 | 伊人导航 | 精品视频免费久久久看 | 麻豆传媒一区二区 | 五月宗合网 | 久久99国产精品久久 | av成人免费观看 | 日韩免费电影在线观看 | 久久精品国产99国产 | 国产在线观看h | 国产精品视频999 | 日韩欧美一区二区三区在线 | 国产首页 | 欧美性直播| 国产在线观看高清视频 | 久久国产系列 | 黄色小说视频在线 | 中文字幕在线影院 | 99久久精品无免国产免费 | japanesexxxhd奶水 91在线精品一区二区 | 免费观看成人av | 亚洲国产精品女人久久久 | 午夜天使| 久久久久免费看 | 99久热在线精品 | 亚洲丝袜一区二区 | 日韩在线中文字幕视频 | 国产亚洲精品中文字幕 | 手机在线日韩视频 | 亚洲精品一区二区网址 | 亚洲婷婷综合色高清在线 | 天堂在线一区 | 伊人婷婷 | 久久人人爽爽 | 欧美国产日韩一区二区三区 | 精品国产乱码一区二区三区在线 | 国产精品高 | 国产第页| 国产亚洲欧美在线视频 | 久久九九免费视频 | 国产老太婆免费交性大片 | 久久综合精品国产一区二区三区 | 欧美一级日韩免费不卡 | 日本精品va在线观看 | 欧美少妇xxx | 正在播放五月婷婷狠狠干 | 亚洲视频精品在线 | 91成人在线免费观看 | 久久久久免费精品视频 | 狠狠操狠狠 | 日韩精品一区二区三区三炮视频 | 久久久久久久免费 | 免费亚洲婷婷 | 五月婷婷激情综合网 | 国产一区二区精品久久 | 久久成人午夜视频 | 黄色国产成人 | 免费观看久久 | 亚洲最大在线视频 | 伊人久操| 国产va在线| 久久精品久久99精品久久 | 一区 二区 精品 | 婷婷六月天丁香 | 亚州精品国产 | av 在线观看| 色五月成人 | 色播99 | 91看片在线免费观看 | 亚洲人成人在线 | 日韩网站在线免费观看 | 久久久久久久久久久久久久电影 | 国产精品美女网站 | 中文字幕 成人 | 色多多在线观看 | 日韩中文字幕电影 | 国产.精品.日韩.另类.中文.在线.播放 | 午夜久久影视 | 亚洲精品福利在线 | 在线免费av播放 | 久久精品国产一区二区三区 | 成人黄色电影在线播放 | 99热精品免费观看 | 国产成人精品av | 日韩av成人在线 | 天天操月月操 | www.久艹| 国产高清视频在线免费观看 | 999国产在线| 亚洲一区二区三区毛片 | 国内久久精品视频 | 久久男人视频 | 免费看一级 | 精品成人网| 亚洲一区二区三区毛片 | 少妇bbbb搡bbbb桶 | av电影亚洲 | 九九热免费在线观看 | 伊人看片 | 成 人 黄 色 免费播放 | 欧美 日韩 性 | 久久九九久久九九 | 久久国产精彩视频 | 插久久| 婷婷丁香综合 | 国产无套视频 | 香蕉视频色 | 亚洲成人精品在线 | 在线观看免费版高清版 | 国产精品网红福利 | 日韩精品中文字幕av | 天天射天天干 | 热久久这里只有精品 | 天天干天天弄 | 中文免费观看 | 91一区啪爱嗯打偷拍欧美 | 欧美一二三视频 | 日韩欧美在线视频一区二区三区 | av电影免费在线看 | 91av视频导航| 69国产精品视频免费观看 | 中文字幕综合在线 | 热久久在线视频 | 天天干天天干 | 中文字幕精品在线 | 超碰免费公开 | 久久激情片 | 成人av视屏 | 91黄色在线观看 | 99免费在线观看 | www.婷婷com| 婷婷五天天在线视频 | 久久精品之 | 五月婷婷久久丁香 | 国产在线一线 | 香蕉影视在线观看 | 黄色一集片 | 国产精品第一 | av在线色 | 四虎成人精品永久免费av | 国产免费资源 | 亚洲精品国产第一综合99久久 | 久久影院一区 | 在线视频99 | 国产视频1 | 99热这里只有精品8 久久综合毛片 | 丁香视频免费观看 | 欧美日在线 | 在线观看免费黄色 | 成人国产精品 | 伊人超碰在线 | 91一区啪爱嗯打偷拍欧美 | 久久久久久免费毛片精品 | 免费特级黄色片 | 亚洲狠狠干 | 黄色一及电影 | 人人爽人人舔 | 欧美日韩a视频 | 日日夜夜天天人人 | 欧美另类交人妖 | 91男人影院| 日韩免费一级a毛片在线播放一级 | 久热色超碰 | 欧美日韩一级在线 | 久久久亚洲国产精品麻豆综合天堂 | 精品国产免费一区二区三区五区 | 夜夜夜| 亚洲精品免费在线观看 | 色偷偷88888欧美精品久久久 | 91福利视频在线 | 国产99免费| 国内小视频| 999色视频| 夜夜澡人模人人添人人看 | 亚洲国产美女精品久久久久∴ | 日韩最新av在线 | www.在线观看av | 日本中文字幕免费观看 | av成人免费在线 | 日韩视频一区二区在线观看 | 久章草在线观看 | 99精品视频网 | 天天色图| 亚洲aⅴ在线观看 | 亚洲综合色婷婷 | 免费看污片 | 国产1级视频 | 国产精品日韩久久久久 | 国产精品免费不卡 | 香蕉久草 | 久久人人爽人人爽 | 久久精品国产v日韩v亚洲 | 午夜丰满寂寞少妇精品 | 欧美亚洲成人xxx | 中文字幕网址 | 欧美日韩中文字幕综合视频 | 免费三级网 | 日韩av中文字幕在线 | 免费看的黄色 | 天天色成人 | 天天操天天操天天操天天操天天操天天操 | 在线视频福利 | 日韩丝袜在线观看 | 久久精品99国产国产精 | 黄视频网站大全 | 国产精品午夜免费福利视频 | 国产伦精品一区二区三区四区视频 | 在线观看视频一区二区三区 | 欧美日韩一区二区三区在线观看视频 | 人人擦| 色综合久久五月天 | 国产免费三级在线观看 | 免费观看成人网 | 欧美一级片在线免费观看 | 国产人免费人成免费视频 | 看av免费网站 | 天堂av网址 | 中文字幕黄色网 | 99久久影院|