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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

图说GC原理及调优

發布時間:2023/12/13 综合教程 62 生活家
生活随笔 收集整理的這篇文章主要介紹了 图说GC原理及调优 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文介紹 GC 基礎原理和理論,GC 調優方法思路和方法,基于 Hotspot jdk1.8,學習之后你將了解如何對生產系統出現的 GC 問題進行排查解決。

內容主要如下:

GC 基礎原理,涉及調優目標,GC 事件分類、JVM 內存分配策略、GC 日志分析等。
CMS 原理及調優。
G1 原理及調優。
GC 問題排查和解決思路。

GC 基礎原理

GC 調優目標

大多數情況下對 Java 程序進行 GC 調優,主要關注兩個目標:

響應速度(Responsiveness):響應速度指程序或系統對一個請求的響應有多迅速。 比如,用戶訂單查詢響應時間,對響應速度要求很高的系統,較大的停頓時間是不可接受的。調優的重點是在短的時間內快速響應。
吞吐量(Throughput):吞吐量關注在一個特定時間段內應用系統的大工作量。 例如每小時批處理系統能完成的任務數量,在吞吐量方面優化的系統,較長的 GC 停頓時間也是可以接受的,因為高吞吐量應用更關心的是如何盡可能快地完成整個任務,不考慮快速響應用戶請求。

GC 調優中,GC 導致的應用暫停時間影響系統響應速度,GC 處理線程的 CPU 使用率影響系統吞吐量。

GC 分代收集算法

現代的垃圾收集器基本都是采用分代收集算法,其主要思想: 將 Java 的堆內存邏輯上分成兩塊:新生代、老年代,針對不同存活周期、不同大小的對象采取不同的垃圾回收策略。

新生代(Young Generation)

新生代又叫年輕代,大多數對象在新生代中被創建,很多對象的生命周期很短。

每次新生代的垃圾回收(又稱 Young GC、Minor GC、YGC)后只有少量對象存活,所以使用復制算法,只需少量的復制操作成本就可以完成回收。

新生代內又分三個區:一個 Eden 區,兩個 Survivor 區(S0、S1,又稱From Survivor、To Survivor),大部分對象在 Eden 區中生成。

當 Eden 區滿時,還存活的對象將被復制到兩個 Survivor 區(中的一個);當這個 Survivor 區滿時,此區的存活且不滿足晉升到老年代條件的對象將被復制到另外一個 Survivor 區。

對象每經歷一次復制,年齡加 1,達到晉升年齡閾值后,轉移到老年代。

老年代(Old Generation)

在新生代中經歷了 N 次垃圾回收后仍然存活的對象,就會被放到老年代,該區域中對象存活率高。老年代的垃圾回收通常使用“標記-整理”算法。

GC 事件分類

根據垃圾收集回收的區域不同,垃圾收集主要分為:

Young GC
Old GC
Full GC
Mixed GC

①Young GC

新生代內存的垃圾收集事件稱為 Young GC(又稱 Minor GC),當 JVM 無法為新對象分配在新生代內存空間時總會觸發 Young GC。

比如 Eden 區占滿時,新對象分配頻率越高,Young GC 的頻率就越高。

Young GC 每次都會引起全線停頓(Stop-The-World),暫停所有的應用線程,停頓時間相對老年代 GC 造成的停頓,幾乎可以忽略不計。

②Old GC 、Full GC、Mixed GC

Old GC:只清理老年代空間的 GC 事件,只有 CMS 的并發收集是這個模式。

Full GC:清理整個堆的 GC 事件,包括新生代、老年代、元空間等 。

Mixed GC:清理整個新生代以及部分老年代的 GC,只有 G1 有這個模式。

GC 日志分析

GC 日志是一個很重要的工具,它準確記錄了每一次的 GC 的執行時間和執行結果,通過分析 GC 日志可以調優堆設置和 GC 設置,或者改進應用程序的對象分配模式。

開啟的 JVM 啟動參數如下:

-verbose:gc-XX:+PrintGCDetails-XX:+PrintGCDateStamps-XX:+PrintGCTimeStamps

常見的 Young GC、Full GC 日志含義如下:

免費的 GC 日志圖形分析工具推薦下面 2 個:

GCViewer,下載 jar 包直接運行 。
gceasy,Web 工具,上傳 GC 日志在線使用。

內存分配策略

Java 提供的自動內存管理,可以歸結為解決了對象的內存分配和回收的問題。

前面已經介紹了內存回收,下面介紹幾條普遍的內存分配策略:

①對象優先在 Eden 區分配:大多數情況下,對象在先新生代 Eden 區中分配。當 Eden 區沒有足夠空間進行分配時,虛擬機將發起一次 Young GC。

②大對象之間進入老年代:JVM 提供了一個對象大小閾值參數(-XX:PretenureSizeThreshold,默認值為 0,代表不管多大都是先在 Eden 中分配內存)。

大于參數設置的閾值值的對象直接在老年代分配,這樣可以避免對象在 Eden 及兩個 Survivor 直接發生大內存復制。

③長期存活的對象將進入老年代:對象每經歷一次垃圾回收,且沒被回收掉,它的年齡就增加 1,大于年齡閾值參數(-XX:MaxTenuringThreshold,默認 15)的對象,將晉升到老年代中。

④空間分配擔保:當進行 Young GC 之前,JVM 需要預估:老年代是否能夠容納 Young GC 后新生代晉升到老年代的存活對象,以確定是否需要提前觸發 GC 回收老年代空間,基于空間分配擔保策略來計算。

continueSize,老年代大可用連續空間:

Young GC 之后如果成功(Young GC 后晉升對象能放入老年代),則代表擔保成功,不用再進行 Full GC,提高性能。

如果失敗,則會出現“promotion failed”錯誤,代表擔保失敗,需要進行 Full GC。

⑤動態年齡判定:新生代對象的年齡可能沒達到閾值(MaxTenuringThreshold 參數指定)就晉升老年代。

如果 Young GC 之后,新生代存活對象達到相同年齡所有對象大小的總和大于任意 Survivor 空間(S0+S1空間)的一半,此時 S0 或者 S1 區即將容納不了存活的新生代對象。

年齡大于或等于該年齡的對象就可以直接進入老年代,無須等到 MaxTenuringThreshold 中要求的年齡。

另外,如果 Young GC 后 S0 或 S1 區不足以容納:未達到晉升老年代條件的新生代存活對象,會導致這些存活對象直接進入老年代,需要盡量避免。

CMS 原理及調優

名詞解釋

可達性分析算法:用于判斷對象是否存活,基本思想是通過一系列稱為“GC Root”的對象作為起點(常見的 GC Root 有系統類加載器、棧中的對象、處于激活狀態的線程等),基于對象引用關系,從 GC Roots 開始向下搜索,所走過的路徑稱為引用鏈,當一個對象到 GC Root 沒有引用鏈相連,證明對象不再存活。

Stop The World:GC 過程中分析對象引用關系,為了保障分析結果的準確性,需要通過停頓所有 Java 執行線程,保證引用關系不再動態變化,該停頓事件稱為 Stop The World(STW)。

Safepoint:代碼執行過程中的一些特殊位置,當線程執行到這些位置的時候,說明虛擬機當前的狀態是安全的,如果有需要 GC,線程可以在這個位置暫停。

HotSpot 采用主動中斷的方式,讓執行線程在運行期輪詢是否需要暫停的標志,若需要則中斷掛起。

CMS 簡介

CMS(Concurrent Mark and Sweep 并發-標記-清除),是一款基于并發、使用標記清除算法的垃圾回收算法,只針對老年代進行垃圾回收。

CMS 收集器工作時,盡可能讓 GC 線程和用戶線程并發執行,以達到降低 STW 時間的目的。

通過以下命令行參數,啟用 CMS 垃圾收集器:

-XX:+UseConcMarkSweepGC

值得補充的是,下面介紹到的 CMS GC 是指老年代的 GC,而 Full GC 指的是整個堆的 GC 事件,包括新生代、老年代、元空間等,兩者有所區分。

新生代垃圾回收

能與 CMS 搭配使用的新生代垃圾收集器有 Serial 收集器和 ParNew 收集器。

這 2 個收集器都采用標記復制算法,都會觸發 STW 事件,停止所有的應用線程。不同之處在于,Serial 是單線程執行,ParNew 是多線程執行。

老年代垃圾回收

CMS GC 以獲取小停頓時間為目的,盡可能減少 STW 時間,可以分為 7 個階段:

階段 1:初始標記(Initial Mark)

此階段的目標是標記老年代中所有存活的對象, 包括 GC Root 的直接引用, 以及由新生代中存活對象所引用的對象,觸發第一次 STW 事件。

這個過程是支持多線程的(JDK7 之前單線程,JDK8 之后并行,可通過參數 CMSParallelInitialMarkEnabled 調整)。

階段 2:并發標記(Concurrent Mark)

此階段 GC 線程和應用線程并發執行,遍歷階段 1 初始標記出來的存活對象,然后繼續遞歸標記這些對象可達的對象。

階段 3:并發預清理(Concurrent Preclean)

此階段 GC 線程和應用線程也是并發執行,因為階段 2 是與應用線程并發執行,可能有些引用關系已經發生改變。

通過卡片標記(Card Marking),提前把老年代空間邏輯劃分為相等大小的區域(Card)。

如果引用關系發生改變,JVM 會將發生改變的區域標記為“臟區”(Dirty Card),然后在本階段,這些臟區會被找出來,刷新引用關系,清除“臟區”標記。

階段 4:并發可取消的預清理(Concurrent Abortable Preclean)

此階段也不停止應用線程。本階段嘗試在 STW 的最終標記階段(Final Remark)之前盡可能地多做一些工作,以減少應用暫停時間。

在該階段不斷循環處理:標記老年代的可達對象、掃描處理 Dirty Card 區域中的對象,循環的終止條件有:

達到循環次數
達到循環執行時間閾值
新生代內存使用率達到閾值

階段 5:最終標記(Final Remark)

這是 GC 事件中第二次(也是最后一次)STW 階段,目標是完成老年代中所有存活對象的標記。

在此階段執行:

遍歷新生代對象,重新標記
根據 GC Roots,重新標記
遍歷老年代的 Dirty Card,重新標記

階段 6:并發清除(Concurrent Sweep)

此階段與應用程序并發執行,不需要 STW 停頓,根據標記結果清除垃圾對象。

階段 7:并發重置(Concurrent Reset)

此階段與應用程序并發執行,重置 CMS 算法相關的內部數據, 為下一次 GC 循環做準備。

CMS 常見問題

①最終標記階段停頓時間過長問題

CMS 的 GC 停頓時間約 80% 都在最終標記階段(Final Remark),若該階段停頓時間過長,常見原因是新生代對老年代的無效引用,在上一階段的并發可取消預清理階段中,執行閾值時間內未完成循環,來不及觸發 Young GC,清理這些無效引用。

通過添加參數:-XX:+CMSScavengeBeforeRemark。

在執行最終操作之前先觸發 Young GC,從而減少新生代對老年代的無效引用,降低最終標記階段的停頓。

但如果在上個階段(并發可取消的預清理)已觸發 Young GC,也會重復觸發 Young GC。

②并發模式失敗(concurrent mode failure)&晉升失敗(promotion failed)問題。

并發模式失敗:當 CMS 在執行回收時,新生代發生垃圾回收,同時老年代又沒有足夠的空間容納晉升的對象時,CMS 垃圾回收就會退化成單線程的 Full GC。所有的應用線程都會被暫停,老年代中所有的無效對象都被回收。

晉升失敗:當新生代發生垃圾回收,老年代有足夠的空間可以容納晉升的對象,但是由于空閑空間的碎片化,導致晉升失敗,此時會觸發單線程且帶壓縮動作的 Full GC。

并發模式失敗和晉升失敗都會導致長時間的停頓,常見解決思路如下:

降低觸發 CMS GC 的閾值。 即參數 -XX:CMSInitiatingOccupancyFraction 的值,讓 CMS GC 盡早執行,以保證有足夠的空間。
增加 CMS 線程數,即參數 -XX:ConcGCThreads。
增大老年代空間。
讓對象盡量在新生代回收,避免進入老年代。

③內存碎片問題

通常 CMS 的 GC 過程基于標記清除算法,不帶壓縮動作,導致越來越多的內存碎片需要壓縮。

常見以下場景會觸發內存碎片壓縮:

新生代 Young GC 出現新生代晉升擔保失敗(promotion failed))
程序主動執行System.gc

可通過參數 CMSFullGCsBeforeCompaction 的值,設置多少次 Full GC 觸發一次壓縮。

默認值為 0,代表每次進入 Full GC 都會觸發壓縮,帶壓縮動作的算法為上面提到的單線程 Serial Old 算法,暫停時間(STW)時間挺長,需要盡可能減少壓縮時間。

G1 原理及調優

G1 簡介

G1(Garbage-First)是一款面向服務器的垃圾收集器,支持新生代和老年代空間的垃圾收集,主要針對配備多核處理器及大容量內存的機器。

G1 主要的設計目標是:實現可預期及可配置的 STW 停頓時間。

G1 堆空間劃分

①Region

為實現大內存空間的低停頓時間的回收,將劃分為多個大小相等的 Region。每個小堆區都可能是 Eden 區,Survivor 區或者 Old 區,但是在同一時刻只能屬于某個代。

在邏輯上, 所有的 Eden 區和 Survivor 區合起來就是新生代,所有的 Old 區合起來就是老年代,且新生代和老年代各自的內存 Region 區域由 G1 自動控制,不斷變動。

②巨型對象

當對象大小超過 Region 的一半,則認為是巨型對象(Humongous Object),直接被分配到老年代的巨型對象區(Humongous Regions)。

這些巨型區域是一個連續的區域集,每一個 Region 中最多有一個巨型對象,巨型對象可以占多個 Region。

G1 把堆內存劃分成一個個 Region 的意義在于:

每次 GC 不必都去處理整個堆空間,而是每次只處理一部分 Region,實現大容量內存的 GC。
通過計算每個 Region 的回收價值,包括回收所需時間、可回收空間,在有限時間內盡可能回收更多的垃圾對象,把垃圾回收造成的停頓時間控制在預期配置的時間范圍內,這也是 G1 名稱的由來:Garbage-First。

G1工作模式

針對新生代和老年代,G1 提供 2 種 GC 模式,Young GC 和 Mixed GC,兩種會導致 Stop The World。

Young GC:當新生代的空間不足時,G1 觸發 Young GC 回收新生代空間。

Young GC 主要是對 Eden 區進行 GC,它在 Eden 空間耗盡時觸發,基于分代回收思想和復制算法,每次 Young GC 都會選定所有新生代的 Region。

同時計算下次 Young GC 所需的 Eden 區和 Survivor 區的空間,動態調整新生代所占 Region 個數來控制 Young GC 開銷。

Mixed GC:當老年代空間達到閾值會觸發 Mixed GC,選定所有新生代里的 Region,根據全局并發標記階段(下面介紹到)統計得出收集收益高的若干老年代 Region。

在用戶指定的開銷目標范圍內,盡可能選擇收益高的老年代 Region 進行 GC,通過選擇哪些老年代 Region 和選擇多少 Region 來控制 Mixed GC 開銷。

全局并發標記

全局并發標記主要是為 Mixed GC 計算找出回收收益較高的 Region 區域,具體分為 5 個階段:

階段 1:初始標記(Initial Mark)

暫停所有應用線程(STW),并發地進行標記從 GC Root 開始直接可達的對象(原生棧對象、全局對象、JNI 對象)。

當達到觸發條件時,G1 并不會立即發起并發標記周期,而是等待下一次新生代收集,利用新生代收集的 STW 時間段,完成初始標記,這種方式稱為借道(Piggybacking)。

階段 2:根區域掃描(Root Region Scan)

在初始標記暫停結束后,新生代收集也完成的對象復制到 Survivor 的工作,應用線程開始活躍起來。

此時為了保證標記算法的正確性,所有新復制到 Survivor 分區的對象,需要找出哪些對象存在對老年代對象的引用,把這些對象標記成根(Root)。

這個過程稱為根分區掃描(Root Region Scanning),同時掃描的 Suvivor 分區也被稱為根分區(Root Region)。

根分區掃描必須在下一次新生代垃圾收集啟動前完成(接下來并發標記的過程中,可能會被若干次新生代垃圾收集打斷),因為每次 GC 會產生新的存活對象集合。

階段 3:并發標記(Concurrent Marking)

標記線程與應用程序線程并行執行,標記各個堆中 Region 的存活對象信息,這個步驟可能被新的 Young GC 打斷。

所有的標記任務必須在堆滿前就完成掃描,如果并發標記耗時很長,那么有可能在并發標記過程中,又經歷了幾次新生代收集。

階段 4:再次標記(Remark)

和 CMS 類似暫停所有應用線程(STW),以完成標記過程短暫地停止應用線程, 標記在并發標記階段發生變化的對象,和所有未被標記的存活對象,同時完成存活數據計算。

階段 5:清理(Cleanup)

為即將到來的轉移階段做準備, 此階段也為下一次標記執行所有必需的整理計算工作:

整理更新每個 Region 各自的 RSet(Remember Set,HashMap 結構,記錄有哪些老年代對象指向本 Region,key 為指向本 Region 的對象的引用,value 為指向本 Region 的具體 Card 區域,通過 RSet 可以確定 Region 中對象存活信息,避免全堆掃描)。
回收不包含存活對象的 Region。
統計計算回收收益高(基于釋放空間和暫停目標)的老年代分區集合。

G1調優注意點

①Full GC 問題

G1 的正常處理流程中沒有 Full GC,只有在垃圾回收處理不過來(或者主動觸發)時才會出現,G1 的 Full GC 就是單線程執行的 Serial old gc,會導致很長的 STW,是調優的重點,需要盡量避免 Full GC。

常見原因如下:

程序主動執行 System.gc
全局并發標記期間老年代空間被填滿(并發模式失敗)
Mixed GC 期間老年代空間被填滿(晉升失敗)
Young GC 時 Survivor 空間和老年代沒有足夠空間容納存活對象

類似 CMS,常見的解決是:

增大 -XX:ConcGCThreads=n 選項增加并發標記線程的數量,或者 STW 期間并行線程的數量:-XX:ParallelGCThreads=n。
減小 -XX:InitiatingHeapOccupancyPercent 提前啟動標記周期。
增大預留內存 -XX:G1ReservePercent=n,默認值是 10,代表使用 10% 的堆內存為預留內存,當 Survivor 區域沒有足夠空間容納新晉升對象時會嘗試使用預留內存。

②巨型對象分配

巨型對象區中的每個 Region 中包含一個巨型對象,剩余空間不再利用,導致空間碎片化,當 G1 沒有合適空間分配巨型對象時,G1 會啟動串行 Full GC 來釋放空間。

可以通過增加 -XX:G1HeapRegionSize 來增大 Region 大小,這樣一來,相當一部分的巨型對象就不再是巨型對象了,而是采用普通的分配方式。

③不要設置 Young 區的大小

原因是為了盡量滿足目標停頓時間,邏輯上的 Young 區會進行動態調整。如果設置了大小,則會覆蓋掉并且會禁用掉對停頓時間的控制。

④平均響應時間設置

使用應用的平均響應時間作為參考來設置 MaxGCPauseMillis,JVM 會盡量去滿足該條件,可能是 90% 的請求或者更多的響應時間在這之內, 但是并不代表是所有的請求都能滿足,平均響應時間設置過小會導致頻繁 GC。

調優方法與思路

如何分析系統 JVM GC 運行狀況及合理優化?

GC 優化的核心思路在于:盡可能讓對象在新生代中分配和回收,盡量避免過多對象進入老年代,導致對老年代頻繁進行垃圾回收,同時給系統足夠的內存減少新生代垃圾回收次數,進行系統分析和優化也是圍繞著這個思路展開。

分析系統的運行狀況

分析系統的運行狀況:

系統每秒請求數、每個請求創建多少對象,占用多少內存。
Young GC 觸發頻率、對象進入老年代的速率。
老年代占用內存、Full GC 觸發頻率、Full GC 觸發的原因、長時間 Full GC 的原因。

常用工具如下:

jstat:JVM自帶命令行工具,可用于統計內存分配速率、GC 次數,GC 耗時。

常用命令格式:

jstat -gc<pid><統計間隔時間><統計次數>

輸出返回值代表含義如下:

例如:jstat -gc 32683 1000 10,統計 pid=32683 的進程,每秒統計 1 次,統計 10 次。

jmap:JVM自帶命令行工具,可用于了解系統運行時的對象分布。

常用命令格式如下:

// 命令行輸出類名、類數量數量,類占用內存大小,

// 按照類占用內存大小降序排列

jmap -histo <pid>

// 生成堆內存轉儲快照,在當前目錄下導出dump.hrpof的二進制文件,

// 可以用eclipse的MAT圖形化工具分析

jmap -dump:live,format=b,file=dump.hprof <pid>

jinfo,命令格式:

jinfo<pid>

用來查看正在運行的 Java 應用程序的擴展參數,包括 Java System 屬性和 JVM 命令行參數。

其他 GC 工具:

監控告警系統:Zabbix、Prometheus、Open-Falcon
jdk 自動實時內存監控工具:VisualVM
堆外內存監控:Java VisualVM 安裝 Buffer Pools 插件、google perf工具、Java NMT(Native Memory Tracking)工具
GC 日志分析:GCViewer、gceasy
GC 參數檢查和優化:http://xxfox.perfma.com/

GC 優化案例

①數據分析平臺系統頻繁 Full GC

平臺主要對用戶在 App 中行為進行定時分析統計,并支持報表導出,使用 CMS GC 算法。

數據分析師在使用中發現系統頁面打開經常卡頓,通過 jstat 命令發現系統每次 Young GC 后大約有 10% 的存活對象進入老年代。

原來是因為 Survivor 區空間設置過小,每次 Young GC 后存活對象在 Survivor 區域放不下,提前進入老年代。

通過調大 Survivor 區,使得 Survivor 區可以容納 Young GC 后存活對象,對象在 Survivor 區經歷多次 Young GC 達到年齡閾值才進入老年代。

調整之后每次 Young GC 后進入老年代的存活對象穩定運行時僅幾百 Kb,Full GC 頻率大大降低。

②業務對接網關 OOM

網關主要消費 Kafka 數據,進行數據處理計算然后轉發到另外的 Kafka 隊列,系統運行幾個小時候出現 OOM,重啟系統幾個小時之后又 OOM。

通過 jmap 導出堆內存,在 eclipse MAT 工具分析才找出原因:代碼中將某個業務 Kafka 的 topic 數據進行日志異步打印,該業務數據量較大,大量對象堆積在內存中等待被打印,導致 OOM。

③賬號權限管理系統頻繁長時間 Full GC

系統對外提供各種賬號鑒權服務,使用時發現系統經常服務不可用,通過 Zabbix 的監控平臺監控發現系統頻繁發生長時間 Full GC,且觸發時老年代的堆內存通常并沒有占滿,發現原來是業務代碼中調用了 System.gc。

總結

GC 問題可以說沒有捷徑,排查線上的性能問題本身就并不簡單,除了將本文介紹到的原理和工具融會貫通,還需要我們不斷去積累經驗,真正做到性能優。

Java 1.8 常用GC參數速查表

GC信息打印

-verbose:gc

開啟輸出JVM GC日志

-verbose:class

查看類加載信息明細

-XX:+PrintGCDetails

GC日志打印詳細信息

-XX:+PrintGCDateStamps

GC日志打印時間戳信息

-XX:+PrintHeapAtGC

在GC前后打印GC日志

-XX:+PrintGCApplicationStoppedTime

打印應用暫停時間

-XX:+PrintGCApplicationConcurrentTime

打印每次垃圾回收前,程序未中斷的執行時間

-Xloggc:./gc.log

指定GC日志目錄何文件名

-XX:+HeapDumpOnOutOfMemoryError

當發生 OOM(OutOfMemory)時,自動轉儲堆內存快照,缺省情況未指定目錄時,JVM 會創建一個名稱為 java_pidPID.hprof 的堆 dump 文件在 JVM 的工作目錄下

-XX:HeapDumpPath=/data/log/gc/dump/

指定OOM時堆內存轉儲快照位置

-XX:+PrintClassHistogramBeforeFullGC、-XX:+PrintClassHistogramAfterFullGC

Full GC前后打印跟蹤類視圖

-XX:+PrintTenuringDistribution

打印Young GC各個年齡段的對象分布

-XX:+PrintTLAB

打印TLAB(線程本地分配緩存區)空間使用情況

CMS/G1通用內存區域設置

-Xmx1024M

JVM最大堆內存大小

-Xms1024M

JVM初始內存大小,建議與-Xmx一致

-Xmn1536M

年輕代空間大小,使用G1收集器是不建議設置該值

-Xss1M

每個線程的堆棧大小

-XX:MaxMetaspaceSize=512M

最大元空間大小

-XX:MetaspaceSize=512M

初始元空間大小

-XX:SurvivorRatio=8

年輕代中Eden區與Survivor區的大小比值,缺省默認值為8

-XX:MaxDirectMemorySize=40M

最大堆外內存大小

CMS/G1通用閾值設置

-XX:MaxTenuringThreshold=15

設置新生代需要經歷多少次GC晉升到老年代中的最大閾值,缺省默認值為15

-XX:PretenureSizeThreshold=1M

代表分配在新生代一個對象占用內存最大值,超過該最大值對象直接在old區分配,默認值缺省是0,代表對象不管多大都是先在Eden中分配內存

CMS/G1通用開關設置

-XX:+DisableExplicitGC

設置忽略System.gc()的調用,不建議設置該參數,因為部分依賴Java NIO的框架(例如Netty)在內存異常耗盡時,會主動調用System.gc(),觸發Full GC,回收DirectByteBuffer對象,作為回收堆外內存的最后保障機制,設置該參數之后會導致在該情況下堆外內存得不到清理 參考:為什么不推薦使用-XX:+DisableExplicitGC

-XX:+ParallelRefProcEnabled

開啟盡可能并行處理Reference對象,建議開啟

CMS/G1通用線程數設置

-XX:ParallelGCThreads=10

設置并行收集垃圾器在應用線程STW期間時GC處理線程數

-XX:ConcGCThreads=10

設置垃圾收集器在與應用線程并發執行標記處理(非STW階段)時的線程數

CMS常用

-XX:+UseConcMarkSweepGC

設置使用CMS作為老年代垃圾收集器

-XX:CMSInitiatingOccupancyFraction=70

設置老年代空間使用的比率閾值多少時觸發CMS GC,范圍1~100,建議70,需要和-XX:+UseCMSInitiatingOccupancyOnly參數搭配使用才生效

-XX:+UseCMSInitiatingOccupancyOnly

設置CMS嚴格按照-XX:CMSInitiatingOccupancyFraction參數設置的閾值來觸發CMS GC,如果沒有設置,虛擬機會根據收集的數據決定是否觸發,建議線上環境帶上這個參數,不然會加大問題排查的難度

-XX:+ExplicitGCInvokesConcurrentAndUnloadsClasses

保證顯式調用System.gc()觸發的是一個并發GC周期而不是Full GC,建議開啟

-XX:+CMSClassUnloadingEnabled

發送CMS GC時觸發類卸載,推薦開啟

-XX:+CMSScavengeBeforeRemark

在CMS的重新標記階段之前執行年輕代Young GC,可減少相當一部分的需要標記的對象,減少CMS重新標記時間的開銷,建議開啟

-XX:UseCMSCompactAtFullCollection

是否在CMS發生Full GC之后是否進行空間整理,缺省默認開啟(推薦)

-XX:CMSFullGCsBeforeCompaction

進行多少次Full GC之后進行一次空間整理,缺省默認值為0(推薦),即每次Full GC過后都進行空間整理,空間整理期間STW

G1常用

-XX:+UseG1GC

使用 G1 垃圾收集器

-XX:MaxGCPauseMillis=200

設置期望達到的最大GC停頓時間指標,JVM會盡力實現,但不保證達到

-XX:InitiatingHeapOccupancyPercent=45

啟動并發GC周期時的堆內存占用百分比。G1之類的垃圾收集器基于整個整個堆的使用率觸發并發GC周期,而不只是某年輕代或者老年代的內存的使用比.,值為 0 則表示”一直執行GC循環”。 默認值為 45

-XX:G1ReservePercent=10

預留內存占堆內存比值,默認值是10,代表使用10%的堆內存為預留內存,當Survivor區域沒有足夠空間容納新晉升對象時會嘗試使用預留內存

-XX:G1HeapRegionSize=2M

設置的 G1 Region區域的大小,當G1因為頻繁分配巨型對象失敗導致Full GC,可以嘗試增大該參數

zz:https://www.sohu.com/a/343836125_172964

總結

以上是生活随笔為你收集整理的图说GC原理及调优的全部內容,希望文章能夠幫你解決所遇到的問題。

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

成人午夜影视 | 久久狠狠一本精品综合网 | 一级黄色在线免费观看 | 久久草在线视频国产 | 国产99久久久久久免费看 | 色网站中文字幕 | 国产高清绿奴videos | 青青草国产免费 | 在线激情av电影 | 国产一区二区在线观看免费 | 欧美一区二区视频97 | 亚洲综合成人婷婷小说 | 国产成人精品免费在线观看 | 欧洲成人av | 亚洲综合成人专区片 | 人人插人人看 | 亚洲成a人片在线www | 国产精品久久久久久一区二区三区 | 亚洲无人区小视频 | 中文字幕久久久精品 | 免费在线成人av电影 | 亚洲精品美女久久久 | 国产精品久久久99 | 玖玖爱在线观看 | 亚洲专区免费观看 | 亚洲综合导航 | 福利久久| 蜜桃视频成人在线观看 | 日日操夜 | 超碰com| 日韩av片在线 | 国产精品久久久久免费观看 | 色亚洲网 | 五月婷婷久 | 久久综合九色综合97_ 久久久 | 99视频一区二区 | 一级片视频在线 | 色资源二区在线视频 | av免费成人| 最近最新最好看中文视频 | 免费一级片视频 | 久久久久免费观看 | 日韩,精品电影 | 国产精品久久久久免费观看 | 天干啦夜天干天干在线线 | 午夜av大片 | 日本久热| 福利二区视频 | 国产高清视频在线 | 98精品国产自产在线观看 | 成人91视频 | 在线视频在线观看 | 国产精品午夜av | 欧美久久精品 | 在线97| 天天天干 | 久久亚洲二区 | 日本高清免费中文字幕 | 中文字幕在线免费播放 | a v在线视频 | 国产男女无遮挡猛进猛出在线观看 | 18国产精品白浆在线观看免费 | 亚洲综合欧美日韩狠狠色 | 99久久精品无免国产免费 | 91日韩精品视频 | 欧美成人影音 | 97色在线观看免费视频 | 西西www4444大胆在线 | 69av视频在线观看 | 99视频在线免费播放 | 日韩在线网 | 91麻豆文化传媒在线观看 | 久久国内精品 | 91丨九色丨国产女 | 欧美老女人xx | 国产精品第二页 | 国产护士在线 | 97免费在线观看 | 亚洲综合干 | 天天综合人人 | 99精彩视频在线观看免费 | 日韩久久久久久久久久久久 | 24小时日本在线www免费的 | 中文字幕电影在线 | 亚洲无吗av | 99视 | 免费看三级黄色片 | www.激情五月.com | 美女网站色免费 | 九九热精品视频在线播放 | 国产精品免费在线视频 | 麻豆传媒在线免费看 | 嫩草伊人久久精品少妇av | 精品国产诱惑 | 蜜臀av性久久久久蜜臀aⅴ流畅 | 国产精品 日韩 欧美 | 天天爱天天草 | 黄色三级在线观看 | 夜夜躁狠狠躁日日躁 | 狠狠干天天射 | 91国内在线 | 精品国产久 | 成人激情开心网 | 视频一区二区在线 | 99久高清在线观看视频99精品热在线观看视频 | 国产精品免费观看国产网曝瓜 | 日韩美女黄色片 | 亚洲精品电影在线 | www色com| 国产99re | 久久久精品国产一区二区电影四季 | 成人av亚洲 | 欧美午夜性 | 亚洲精品免费在线视频 | 精品国产黄色片 | 狠狠色狠狠色综合日日92 | 成人cosplay福利网站 | 日韩久久久久久 | 四虎最新入口 | 欧美少妇xxx| 国产真实精品久久二三区 | 美女一区网站 | 国产高清成人 | 综合伊人久久 | 黄色亚洲在线 | 久久国产精品久久久久 | 波多野结衣在线播放一区 | www.夜色321.com | 999久久久免费精品国产 | 最新av在线网站 | 一本一本久久a久久 | 久久夜色精品国产欧美一区麻豆 | 久久久鲁 | 成人一区在线观看 | 天天色天天操天天爽 | 亚洲午夜久久久久久久久电影网 | 午夜视频不卡 | 国产一区二区三区在线 | 亚洲视频免费在线 | 91九色蝌蚪国产 | 97天天综合网 | 色丁香综合 | 日本bbbb摸bbbb | 国产字幕av| 天天干天天操天天爱 | 中文字幕在线观看三区 | 久久噜噜少妇网站 | 成人亚洲精品久久久久 | 精品一区二区在线免费观看 | 国产小视频在线免费观看视频 | 亚洲精品小区久久久久久 | 国产伦精品一区二区三区在线 | 国产伦理久久精品久久久久_ | 色五月色开心色婷婷色丁香 | 久久一区精品 | 亚洲有 在线| 精品国产伦一区二区三区观看方式 | 丰满少妇高潮在线观看 | 在线免费国产 | 久久久久久久久影视 | 久久私人影院 | 国产日韩精品欧美 | 亚洲一级片在线看 | 一区二区三区免费看 | 在线99| 中文有码在线视频 | 青青河边草免费视频 | 亚洲精品中文字幕在线观看 | 欧美精品久久久久久久久久丰满 | 97超碰人人澡人人 | 久久国产二区 | www.狠狠插.com | 最新在线你懂的 | 午夜婷婷在线观看 | 国产中文字幕视频在线观看 | 91热视频 | 亚洲精品欧洲精品 | 国产99久久久国产精品免费看 | 97电影在线观看 | 婷婷国产视频 | 久久婷婷五月综合色丁香 | 久久视频这里有久久精品视频11 | 奇米7777狠狠狠琪琪视频 | 久久综合九色综合97_ 久久久 | 欧美精品一区二区三区一线天视频 | 婷婷伊人五月天 | 久久久av电影 | 国产午夜精品理论片在线 | 色av色av色av | 久草在线免费新视频 | 欧美成人黄色片 | 久久99久久99精品免费看小说 | 日韩专区在线观看 | 精品中文字幕在线 | 日韩电影中文字幕在线 | 五月天激情视频在线观看 | 国产视频资源在线观看 | 超碰在线中文字幕 | 免费欧美精品 | 国产成人精品久久久 | 又黄又爽又刺激视频 | 日韩高清www| 国产精品露脸在线 | 中文字幕在线看视频国产中文版 | 免费观看视频的网站 | 亚洲欧美精品一区二区 | 91精品免费 | 国产精品99久久久久久武松影视 | 91传媒免费观看 | 99在线精品视频观看 | 成年人看片网站 | 一区二区三区免费 | 国产欧美综合视频 | 亚洲精品一区二区18漫画 | 免费网站黄色 | 日日操天天操夜夜操 | 国产精品久久久久一区二区国产 | www.久草视频 | 成人福利在线 | 久久久久免费精品国产小说色大师 | www黄在线 | 国产视频在线观看一区二区 | 三级视频国产 | 免费精品视频在线 | 国产剧情一区二区在线观看 | 色婷婷激情 | 九九精品久久久 | 国产麻豆精品在线观看 | 国语对白少妇爽91 | 男女日麻批 | 婷婷激情综合 | 国产精品女人久久久 | 九九热在线精品 | 亚洲成av| 中文av资源站| 中文字幕在线日本 | 国产成人精品aaa | 成人av网址大全 | 亚洲精品国 | 欧美做受xxx | 免费黄色在线 | 日韩大陆欧美高清视频区 | 96国产在线 | 日韩性色 | 精品不卡av | 久久久久久久久久福利 | 亚洲精品电影在线 | 久久精品国产精品 | 国产精品丝袜在线 | 婷色| 久久新视频| 91亚洲精品在线 | 国产综合小视频 | 久操视频在线观看 | 欧美最猛性xxxxx亚洲精品 | 狠狠干夜夜操天天爽 | 久久99九九99精品 | 成人黄色短片 | 天天草天天色 | 国产午夜免费视频 | 色综合天天色综合 | 久久综合久久综合九色 | 偷拍区另类综合在线 | 国产视频九色蝌蚪 | 岛国av在线不卡 | 在线视频 91 | 日韩久久片| 日韩综合一区二区三区 | 欧美一区二区精美视频 | 国产破处在线播放 | 男女激情麻豆 | 91精品一区二区三区蜜桃 | 天堂网在线视频 | 久久亚洲综合国产精品99麻豆的功能介绍 | 黄色a视频免费 | 免费视频在线观看网站 | 免费观看xxxx9999片 | 草 免费视频 | www五月天com | 亚洲国产中文字幕在线视频综合 | 国产99久久久国产精品 | 亚洲国产片 | 国产 视频 高清 免费 | 亚洲精品九九 | 免费视频97| 日韩av在线免费播放 | 日韩精品一区二区免费视频 | 国产麻豆精品一区二区 | 免费色视频 | 在线观看免费黄色 | 91成品视频| 亚洲永久精品视频 | 97自拍超碰 | 欧美精品在线观看 | 亚洲一级久久 | 日日日日| 国产一级黄色免费看 | a精品视频 | 欧美精品网站 | 中国一级片视频 | www.五月激情.com| 国产精品久久99综合免费观看尤物 | 亚洲欧美视频在线观看 | 日韩影视在线观看 | 国内精品视频免费 | 黄色官网在线观看 | 亚洲午夜小视频 | 超碰国产在线观看 | 日日干夜夜草 | 美女一二三区 | 99在线热播精品免费 | 成人免费在线观看av | 久久精品亚洲国产 | 亚洲国产中文字幕在线观看 | 日韩理论电影在线 | 日日夜av| 国产高清视频免费最新在线 | 久久免费视频在线观看30 | 日韩国产欧美在线视频 | 五月婷婷激情网 | 天天摸日日摸人人看 | 国产精品麻豆三级一区视频 | 婷婷色视频 | 国产色资源 | 麻豆视频免费播放 | 99色免费视频 | 亚洲成色 | 免费亚洲片 | 国产免费一区二区三区最新 | 国产成人精品999在线观看 | 综合久久久久 | 国产精品久久久久久久久久久不卡 | 黄色av电影在线观看 | 色网站在线免费 | 亚洲国产中文字幕在线观看 | 免费人人干| 在线观看不卡视频 | 国内精品久久久久久久影视简单 | 欧美精品久久久久久久久久 | 一本色道久久综合亚洲二区三区 | 在线观看的a站 | 亚洲黄色在线 | 91av视频免费在线观看 | 国产九色在线播放九色 | 99久久日韩精品视频免费在线观看 | 在线www色| 国产视频在线观看一区 | 欧美视频二区 | 色黄视频免费观看 | 精产嫩模国品一二三区 | 日本黄色大片免费看 | 69av免费视频 | 国产精品久久久久久模特 | 久久久久久久久久网站 | 成人久久久久久久久久 | 久久99久久99精品免观看软件 | 亚洲黄色免费在线 | 久久国产热视频 | 丁香婷婷成人 | 有码一区二区三区 | 国内外成人在线视频 | 中文字幕在线看视频国产 | 国产精品视频资源 | 国产精品久久久久高潮 | 九九精品视频在线看 | 日韩在线视频不卡 | 国语自产偷拍精品视频偷 | 久久久久国产一区二区三区 | 在线导航av | 成在人线av | 欧美乱熟臀69xxxxxx | 香蕉免费 | 在线 欧美 日韩 | 亚洲综合色视频 | 高清av影院 | 97爱爱爱| 18性欧美xxxⅹ性满足 | 午夜影院日本 | a黄色片在线观看 | 最新av在线网站 | 欧美日韩aa | 久久精久久精 | 久久综合久久综合这里只有精品 | 超碰免费公开 | www.色综合.com | 99夜色 | www日韩| 国产精品99久久免费黑人 | 国产精品丝袜久久久久久久不卡 | 免费黄色av. | 久久少妇| 久草免费电影 | av成人免费| 婷婷色综合色 | 国产精品久久电影观看 | 黄色小网站在线观看 | 伊人影院av | 国产成人精品一区二区在线观看 | 久久久久国产精品一区二区 | 97高清免费视频 | 久热免费在线观看 | 亚洲久草在线 | 最新av电影网站 | 特片网久久 | www.久久久 | 91看片一区二区三区 | 欧美国产日韩一区二区三区 | 亚洲国产精品视频在线观看 | 伊人久久影视 | 成人一级影视 | 国产韩国日本高清视频 | av高清一区 | 免费黄色在线网址 | 国产精品一区二区久久 | 国产欧美日韩精品一区二区免费 | 五月婷婷综合在线观看 | 国产精品av久久久久久无 | 久久激情五月丁香伊人 | 美女视频黄免费网站 | 久久精彩视频 | 亚洲一区在线看 | 成人久久国产 | 中文字幕在线有码 | www.av小说 | 日韩理论片在线观看 | 麻豆国产精品永久免费视频 | 日韩综合视频在线观看 | 日韩中文字幕免费看 | 国产精品久久久久久久免费观看 | 在线精品亚洲 | 中文字幕在线观看播放 | 亚洲欧美日韩精品久久久 | 天天艹日日干 | 香蕉视频在线视频 | 亚洲综合少妇 | 中文字幕二区三区 | 999久久久久久 | 欧美另类xxx | 国产手机在线 | 国产你懂的在线 | 欧美激情h | 国产美腿白丝袜足在线av | 国产中的精品av小宝探花 | 九九视频免费 | 亚洲日韩中文字幕在线播放 | 久久久免费毛片 | 久久精品韩国 | 亚洲综合五月天 | 中文字幕在线免费观看视频 | 伊人成人激情 | 91精品伦理 | 97精品国产97久久久久久免费 | www.99久久.com| 久久99热久久99精品 | 日韩电影在线一区二区 | 韩国一区二区av | 狠狠的干 | 天天操狠狠操网站 | 国产免费久久av | www.五月天婷婷 | 久久久久久久网站 | 在线观看国产中文字幕 | 九九在线高清精品视频 | 黄色软件大全网站 | 毛片网站免费在线观看 | 久久激情综合网 | 久久国产一区二区三区 | 免费国产在线观看 | 在线观看日韩 | 91麻豆精品国产91久久久久久久久 | 日韩精品亚洲专区在线观看 | 色婷婷97| 免费观看视频的网站 | 久草精品视频在线看网站免费 | 国产综合精品一区二区三区 | 四虎影院在线观看av | 日韩精品一区二区三区视频播放 | 免费网站看v片在线a | 中文字幕一区二区三区精华液 | 午夜性生活片 | 精品久久久久久综合日本 | 久久亚洲影院 | 伊人久久影视 | 成人午夜黄色 | 欧美日韩一级久久久久久免费看 | 久草在线视频资源 | 91免费网址 | 久久综合中文字幕 | 国产精品女同一区二区三区久久夜 | 精品国产一区二区三区男人吃奶 | 午夜精品一二三区 | 亚洲经典视频在线观看 | 日本99干网 | 国产精品第十页 | 亚洲另类久久 | 久保带人 | 96av麻豆蜜桃一区二区 | 成人毛片一区 | 国产精品 国内视频 | 国产精品欧美激情在线观看 | 亚洲精品在线免费 | 韩日电影在线 | 美女网站视频免费黄 | 狠狠做六月爱婷婷综合aⅴ 日本高清免费中文字幕 | 一区二区三区电影在线播 | 成人黄色电影免费观看 | 国产在线一区观看 | 国产精品日韩久久久久 | 91香蕉视频污在线 | 69国产精品视频免费观看 | 亚洲精品一区二区三区四区高清 | 国产欧美最新羞羞视频在线观看 | 久久精品久久久精品美女 | 日本99精品| 99久久精品免费看国产麻豆 | 在线99 | 色综合久久五月 | 欧美视频不卡 | 干 操 插 | 国产在线91在线电影 | 亚洲精品视频在线观看免费视频 | 亚洲伊人成综合网 | 91人人揉日日捏人人看 | 久久无码精品一区二区三区 | 久草香蕉在线视频 | 亚洲日本一区二区在线 | 99久久网站 | www.夜夜操.com | 色欲综合视频天天天 | 国产精品美女久久久久久久久 | 中文字幕av最新 | 国产精品久久久久久婷婷天堂 | 国产视频在线免费观看 | 亚洲理论视频 | 日韩动态视频 | 午夜影视剧场 | 欧美激情精品久久久久久免费 | 久久综合久久久久88 | 99久久久久国产精品免费 | 婷婷干五月| 中文字幕av在线不卡 | 国产又粗又长的视频 | 国产精品视频免费 | 黄色在线视频网址 | 91成人天堂久久成人 | 亚洲人人网 | 国产美女被啪进深处喷白浆视频 | 久久99国产综合精品 | 国产一级久久久 | 天天操夜夜操天天射 | 一级性视频 | 成人免费一级 | 丰满少妇麻豆av | 国产一区免费观看 | 亚洲精品观看 | 日韩成人黄色 | 又长又大又黑又粗欧美 | 网站你懂的 | 黄色tv视频 | 日韩两性视频 | 99视频在线观看免费 | 中文网丁香综合网 | 在线免费av网站 | 亚洲精品午夜久久久久久久 | 东方av在线免费观看 | 人人狠狠综合久久亚洲婷 | 久久99精品国产麻豆宅宅 | 99精品国产成人一区二区 | 亚洲一级片在线观看 | 日本中文字幕网站 | 亚洲春色综合另类校园电影 | 精品久久久一区二区 | 蜜桃传媒一区二区 | 国产精品中文字幕在线 | av一区二区三区在线播放 | 久免费视频| 婷婷色网址 | 六月丁香六月婷婷 | 亚洲国产精品女人久久久 | 久久免费视频3 | 欧美成人猛片 | www欧美xxxx| 精品国产自在精品国产精野外直播 | 国产精品ssss在线亚洲 | 精品一区二区免费在线观看 | 免费三级av | 欧美激情一区不卡 | 国产h在线播放 | 国产精品99久久久久久宅男 | 久久刺激视频 | 欧美精品久久久 | 99免费在线视频 | 精品在线观看一区二区 | 精品毛片一区二区免费看 | 国产日本三级 | 亚洲四虎 | 中文字幕免费一区二区 | 亚洲成人家庭影院 | 久草在线最新视频 | 91av视频播放| 国产一区91 | jizz999| 欧美激情第八页 | 久久五月天色综合 | 久久欧美视频 | 成人免费视频在线观看 | 日日夜夜天天操 | 国产精品亚州 | 亚洲国产手机在线 | 日韩三区在线观看 | 91精品视频在线看 | 日本精品在线看 | 亚洲视频久久 | 亚洲午夜激情网 | 欧美精品亚洲二区 | 日韩乱码中文字幕 | 欧美男同网站 | 亚洲伊人第一页 | 日本最新中文字幕 | 精品麻豆入口免费 | 国产成人精品亚洲日本在线观看 | 一区在线观看视频 | avwww在线观看 | 精品国产亚洲在线 | 99精品欧美一区二区三区 | 88av网站| 国产经典三级 | 亚洲爽爽网 | 国产又粗又猛又爽又黄的视频免费 | 久草在线在线精品观看 | 综合久久久久久久久 | 综合天天网 | 免费观看成人av | 91禁看片 | 婷婷视频在线 | 久久国产精品成人免费浪潮 | 色悠悠久久综合 | 青青草在久久免费久久免费 | 日韩免费播放 | 午夜久操| 日韩精品一区二区三区水蜜桃 | 成人蜜桃 | 人人插人人草 | 日日激情 | 四虎在线免费观看视频 | 亚洲欧洲成人精品av97 | 日韩1级片| 国产a国产a国产a | 天天射网站| 日韩专区在线观看 | 在线一二区| 久久婷婷五月综合色丁香 | 69视频永久免费观看 | www日韩精品| 91在线蜜桃臀 | www.99在线观看 | 欧美粗又大| 久久99国产精品 | 在线免费观看国产 | 国产亚洲va综合人人澡精品 | 天天伊人狠狠 | 三级在线播放视频 | 在线视频日韩一区 | 毛片视频网址 | 国产精品精品 | 国产高清日韩欧美 | av色影院 | 婷婷色网| 日本久久久久久久久久 | 亚洲成人精品在线观看 | 中文字幕有码在线 | 日韩精品观看 | 日韩精品中文字幕在线播放 | 久久国产露脸精品国产 | 亚洲精品毛片一级91精品 | 国内精品久久久久久久久久清纯 | 一级a性色生活片久久毛片波多野 | 天天做日日做天天爽视频免费 | 精品福利在线 | 天天干,天天操,天天射 | 探花视频免费观看 | 国产成人区 | 亚洲精品h | 伊人超碰在线 | 亚洲jizzjizz日本少妇 | 九九热免费视频在线观看 | 久久久久久久久久久久久9999 | 国产成人精品一区在线 | 成人午夜性影院 | 日韩电影久久 | 最新中文字幕在线观看视频 | 成人av直播 | 91香蕉国产在线观看软件 | 国产精品久久久久久久久久久免费看 | 欧美午夜理伦三级在线观看 | 国产精品二区在线观看 | 日韩欧美在线视频一区二区三区 | 色综合天| 欧美专区日韩专区 | 欧美日韩精品久久久 | 中文在线中文资源 | 日韩中文三级 | 日韩视频一区二区在线 | 热久久影视 | 欧美一级片在线播放 | 国产视频手机在线 | 欧洲视频一区 | 欧美性护士 | 97免费公开视频 | 色偷偷人人澡久久超碰69 | 亚洲国产日韩欧美在线 | 操操操影院 | 久久精品首页 | 久久亚洲综合国产精品99麻豆的功能介绍 | 西西444www高清大胆 | www.夜夜草 | 免费网站色 | 欧美日韩一级在线 | 欧美午夜理伦三级在线观看 | 一级免费看视频 | 成年人黄色大全 | 久久福利国产 | 亚洲永久国产精品 | 久久免费精品国产 | 午夜精品视频一区二区三区在线看 | 欧美性性网 | 黄色网www| 亚洲伊人网在线观看 | 欧美一级欧美一级 | 国产天天综合 | 欧美成人aa| 日本中文字幕视频 | 国产精品免费一区二区 | 天堂va在线观看 | 久草在线视频首页 | 国产黄色一级片 | 亚洲精品 在线视频 | 中文字幕在线观看日本 | 久草国产在线 | 亚洲国产mv | 国产亚洲成av人片在线观看桃 | 成人在线观看av | 欧美在线91 | 青春草国产视频 | 国产免费叼嘿网站免费 | 久久精品一区二区三区中文字幕 | 人人爱人人添 | 国产品久精国精产拍 | 久久免费资源 | 一区 二区电影免费在线观看 | 久久久久久久久毛片精品 | 国产成人99av超碰超爽 | 91喷水 | 人人爱人人爽 | 欧洲精品久久久久毛片完整版 | 91精品国产91久久久久久三级 | 韩日电影在线 | 波多野结衣久久资源 | 成年人黄色免费视频 | 综合铜03 | 在线黄色av电影 | 欧美专区日韩专区 | 久久精品国亚洲 | 亚洲精品理论片 | 国产成视频在线观看 | 欧美一级片在线观看视频 | 波多野结衣一区三区 | 欧美精品少妇xxxxx喷水 | 亚洲伊人色| 9在线观看免费高清完整版在线观看明 | 日韩有码专区 | 日韩精品一区二区在线观看 | 国产精品一区二区三区在线看 | 久久公开视频 | 成人av午夜 | 日本不卡一区二区三区在线观看 | 九月婷婷人人澡人人添人人爽 | 五月天婷亚洲天综合网鲁鲁鲁 | 亚洲在线综合 | 久久福利国产 | 午夜av日韩 | 国产一级视频免费看 | 特级a毛片 | 免费成人在线视频网站 | 亚洲人在线视频 | 91免费国产在线观看 | 九色porny真实丨国产18 | 91高清在线 | 国产精品入口a级 | 亚洲精品国产区 | 五月天.com | 91网页版免费观看 | 国产精品自产拍在线观看桃花 | 最近2019中文免费高清视频观看www99 | 黄色精品一区 | 国产成人三级三级三级97 | 综合久久精品 | 九色在线视频 | 欧美日韩中文另类 | 亚洲精品系列 | 成人在线视频论坛 | 久久天天综合网 | 国产精品欧美久久久久天天影视 | 黄色片网站 | 日本久久免费电影 | 91麻豆国产福利在线观看 | 日韩在线激情 | 婷婷色亚洲 | 一区二区电影在线观看 | 人人爽人人看 | 天天操夜夜叫 | 天天操天天舔天天干 | 91九色成人 | 成人黄色短片 | 欧美精品做受xxx性少妇 | 久久这里精品视频 | 国产另类av | 国产韩国日本高清视频 | 国产精品青草综合久久久久99 | 国产亚洲精品成人 | 天天干,天天操,天天射 | 久久99视频免费观看 | 国产在线播放观看 | 夜夜爽天天爽 | 亚洲精品字幕 | 久一在线 | 国产精品久久久久999 | 亚洲国产中文字幕 | 国产精品久久久久高潮 | 久久精品久久久久电影 | 国产精品中文在线 | 91九色精品国产 | 色噜噜在线观看 | 久久精品福利视频 | 亚洲高清av | 99久久久久久国产精品 | 亚洲丁香日韩 | 日韩网站在线免费观看 | 中午字幕在线 | 9999在线观看 | 麻豆精品视频在线 | 午夜av免费 | 免费观看版 | 亚洲精品在线观看免费 | 国产精品久久久久av福利动漫 | 久久观看最新视频 | 西西人体4444www高清视频 | 丁香花中文在线免费观看 | 国产精品久久久久aaaa九色 | 狠狠操操网 | av在线播放一区二区三区 | 精品视频区 | 国产一区二区中文字幕 | 亚洲va欧洲va国产va不卡 | 免费久久久 | 依人成人综合网 | av看片网 | 色香蕉网| 日本精品一区二区三区在线观看 | 国产视频午夜 | 亚洲视频电影在线 | 天天夜夜亚洲 | 天天插综合网 | 婷婷精品在线 | av福利超碰网站 | 欧美日韩久久久 | 免费福利在线播放 | 91av国产视频 | 成人网页在线免费观看 | www.成人sex| 婷婷五月色综合 | 啪啪肉肉污av国网站 | 视频一区视频二区在线观看 | 超碰公开在线观看 | 成人激情开心网 | 免费精品视频 | 99精品视频观看 | 国产中出在线观看 | 日韩精品视频免费专区在线播放 | 免费无遮挡动漫网站 | 91九色蝌蚪国产 | 日本中文字幕一二区观 | 久碰视频在线观看 | 日韩欧美综合 | 中文字幕中文字幕中文字幕 | 五月天综合婷婷 | 亚洲黄污 | 亚洲欧美国产视频 | 国产亚洲高清视频 | 丁香五月亚洲综合在线 | 高清av不卡| 久久久久久久久久久久av | 久久精品视频一 | 免费a网 | 91视频免费看| 亚洲精品视频一二三 | 国产精品免费麻豆入口 | 欧美孕妇与黑人孕交 | 国产午夜精品免费一区二区三区视频 | 久草电影在线观看 | 亚洲国产成人精品在线 | 青青网视频 | 欧美另类高清 | 91视频久久久 | 韩国一区在线 | 久操操| 国产中文字幕在线看 | 国产精品资源网 | 亚洲国产最新 | 狠狠色丁香婷婷综合视频 | 久久精品第一页 | 国产在线看一区 | 97视频网站 | 国产成人精品一区二区三区在线观看 | 黄色在线观看免费网站 | 国产精品一区久久久久 | 日韩在线中文字幕 | 人人草在线观看 | 国产成a人亚洲精v品在线观看 | 国产高清久久久久 | 久久精品美女 | 在线国产一区二区 | 国产精品麻 | 日韩欧美视频一区 | 亚洲天天综合 | 99爱爱| 久久人人爽人人爽 | 国产二区精品 | 午夜狠狠操 | 亚洲高清不卡av | 一区二区av| 99精品黄色 | www久久久久| 国产亚洲精品久久 | 在线播放一区二区三区 | 伊人狠狠干| 久久久福利影院 | 九色porny真实丨国产18 | 国产视频第二页 | 最近中文字幕免费观看 | 国产亚洲在线观看 | 波多野结衣资源 | 97人人模人人爽人人喊网 | 国产在线不卡 | 在线观看的黄色 | 在线亚洲成人 | 日韩av影视在线 | 四虎影视www| 波多野结衣资源 | 精品免费观看 | 91黄色小网站 | 国产精品美女视频 | 狠狠躁日日躁狂躁夜夜躁 | 国产在线不卡视频 | 最近2019好看的中文字幕免费 | 九色在线视频 | 国产福利91精品张津瑜 | 一级黄色在线免费观看 | 国产一区二区三区高清播放 | 日韩www在线| 九九视频精品在线 | 福利在线看片 | 国产精品久久精品国产 | 亚洲一区 av | 久久久久久久久国产 | 97精品国产aⅴ | 精品国产一区二区三区免费 | 97色在线| 亚洲人成在线观看 | 69久久夜色精品国产69 | 在线亚洲人成电影网站色www | 婷婷丁香激情五月 | 天天做天天爱天天综合网 | 五月天丁香视频 | 亚洲精品久久久蜜桃 | 免费在线观看91 | 午夜三级影院 | 亚洲精品视频播放 | 午夜久操| h文在线观看免费 | 一级理论片在线观看 | 美女视频黄在线观看 | 久久久久人人 | 一级淫片a | 国产亚洲精品久久久久久网站 | 免费久久99精品国产 | 一区二区视 | 日日夜夜天天射 | 伊人伊成久久人综合网站 | 五月婷久| 国产精品原创av片国产免费 | 国产精品久久片 | 国产操在线| 日韩欧美视频在线观看免费 | 久久久久久黄色 | 日本成人a | 久久人人爽人人 | 中文字幕在线观看网址 |