G1有詳細(xì)的日志信息,建議使用下面的參數(shù),當(dāng)G1出問題,可以獲取很多有用的信息
創(chuàng)新互聯(lián)是一家企業(yè)級云計算解決方案提供商,超15年IDC數(shù)據(jù)中心運營經(jīng)驗。主營GPU顯卡服務(wù)器,站群服務(wù)器,鄭州服務(wù)器托管,海外高防服務(wù)器,大帶寬服務(wù)器,動態(tài)撥號VPS,海外云手機,海外云服務(wù)器,海外服務(wù)器租用托管等。
1、-xx:+PrintGCDateStamps 打印日期和正常云行時間
2、-xx:+PrintGCDetails 打印G1詳細(xì)信息
3、-xx:+PrintAdaptiveSizePolicy 打印自適應(yīng)調(diào)節(jié)策略;自適應(yīng)策略:GC會根據(jù)中統(tǒng)計的GC時間、吞吐量、內(nèi)存占用量,重新計算堆內(nèi)存中各區(qū)大小
4、-xx:+PrintTenuringDistribution 打印survivor region區(qū)域內(nèi)的對象的age信息
1、年輕代收集會,不會進行并發(fā)標(biāo)記,所以它全程都是STW
2、應(yīng)用線程不斷活動后,年輕代空間會被逐漸填滿。當(dāng)JVM分配對象到Eden區(qū)域失敗(Eden區(qū)已滿)時,便會觸發(fā)一次STW式的年輕代收集
1、根掃描 Root Scanning:靜態(tài)和本地對象等被掃描
2、更新已記憶集合 Update RSet:對dirty卡片的分區(qū)進行掃描,來更新RSet
3、RSet掃描:在收集當(dāng)前CSet之前,掃描CSet分區(qū)的RSet,檢測old->young這種引用情況
4、轉(zhuǎn)移和回收-Object Copy:將CSet分區(qū)存活對象的轉(zhuǎn)移到新survivor或old Region,回收CSet內(nèi)垃圾對象
5、引用處理:主要針對軟引用、弱引用、虛引用、final引用、JNI引用;當(dāng)占用時間過多時,可選擇使用參數(shù)-XX:+ParallelRefProcEnabled激活多線程引用處理
6、在年輕代收集中,Eden分區(qū)存活的對象將被拷貝到Survivor分區(qū);原有Survivor分區(qū)存活的對象,將根據(jù)對象的年齡而晉升到新的survivor分區(qū)和老年代分區(qū)。而原有的年輕代分區(qū)將被整體回收掉。
1、當(dāng)堆內(nèi)存占用空間超過整堆比IHOP閾值-XX:InitiatingHeapOccupancyPercent(默認(rèn)45%)時,G1就會進行年老代收集
1.1、在年輕代收集之后或巨型對象分配之后,會去檢查這個空間占比
1.2、年輕代晉升老年代失敗會觸發(fā)老年代GC或者Full GC
2、年老代收集同時會執(zhí)行年輕代收集,進行年老代的roots探測,既初始標(biāo)記,STW的過程
3、并發(fā)標(biāo)記
4、重新標(biāo)記,STW的過程,這個過程使用STAB算法。
5、清除垃圾,STW的過程。
1、在進行正常的年輕代垃圾收集,也會回收一部分老年代分區(qū)。會優(yōu)先選取垃圾多(垃圾占用大于85%,復(fù)制算法存活對象越少效率越高)的Regions,一共1/8的年老代Regions加入Cset中
2、假設(shè)一個Region的存活對象達到95%,而進行復(fù)制,效率很低,所以G1允許浪費部分內(nèi)存,那么這個Region不會被混合收集,-XX:G1HeapWastePercent:默認(rèn)5%
3、stw,然后將Cset中的Regions進行收集,使用復(fù)制算法
4、下一次年輕代垃圾收集進行時,在將第二個1/8的年老代Regions加入Cset中進行收集
當(dāng)年老代內(nèi)單個Region的垃圾小于等于G1HeapWastePercent時,復(fù)制大量存活對象,效率很低。此時G1會確定結(jié)束混合收集周期。所以混合收集次數(shù)可能小于8次。
STW式的、單線程的Full GC。Full GC會對整堆做標(biāo)記清除和壓縮,最后將只包含純粹的存活對象。
具體執(zhí)行過程中的細(xì)節(jié),后面梳理之后再補充~~~~
當(dāng)前標(biāo)題:垃圾回收(4)G1的GC過程
網(wǎng)頁路徑:http://www.rwnh.cn/article42/jijphc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、微信小程序、網(wǎng)站收錄、服務(wù)器托管、商城網(wǎng)站、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)