JVM-GC日志分析

全量GC日志

CommandLine flags: -XX:+HeapDumpOnOutOfMemoryError -XX:InitialHeapSize=20971520 -XX:MaxHeapSize=20971520 -XX:+PrintGC -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:-UseLargePagesIndividualAllocation -XX:+UseParallelGC 
0.225: [GC (Allocation Failure) [PSYoungGen: 5632K->488K(6144K)] 5632K->3737K(19968K), 0.0120091 secs] [Times: user=0.00 sys=0.00, real=0.01 secs] 
0.241: [GC (Allocation Failure) [PSYoungGen: 6096K->504K(6144K)] 9345K->8376K(19968K), 0.0108122 secs] [Times: user=0.05 sys=0.00, real=0.01 secs] 
0.256: [Full GC (Ergonomics) [PSYoungGen: 6136K->0K(6144K)] [ParOldGen: 11037K->12952K(13824K)] 17173K->12952K(19968K), [Metaspace: 3375K->3375K(1056768K)], 0.3337490 secs] [Times: user=0.50 sys=0.00, real=0.33 secs] 
0.591: [Full GC (Ergonomics) [PSYoungGen: 3583K->3001K(6144K)] [ParOldGen: 12952K->13464K(13824K)] 16536K->16465K(19968K), [Metaspace: 3375K->3375K(1056768K)], 0.2262367 secs] [Times: user=0.44 sys=0.00, real=0.23 secs] 
0.817: [Full GC (Allocation Failure) [PSYoungGen: 3001K->3001K(6144K)] [ParOldGen: 13464K->13435K(13824K)] 16465K->16436K(19968K), [Metaspace: 3375K->3375K(1056768K)], 0.1797829 secs] [Times: user=0.51 sys=0.00, real=0.18 secs]

分段分析(一)

0.225: [GC (Allocation Failure) [PSYoungGen: 5632K->488K(6144K)] 5632K->3737K(19968K), 
0.0120091 secs] [Times: user=0.00 sys=0.00, real=0.01 secs] 
  1. GC發(fā)生時(shí)間
  2. GC 或 Full GC 表示垃圾收集器停頓類型,新生代GC還是老年代GC
  3. PSYoungGen 表示GC發(fā)生區(qū)域,表示為跟垃圾收集器名字相關(guān) (PSYoungGen 表示為新生代Parallel Scavenge 收集器)
  4. 5632K->488K(6144K) GC前后該內(nèi)存區(qū)域已使用的容量及總?cè)萘?/li>
  5. 5632K->3737K(19968K) GC前后JAVA堆已使用的容量
  6. 0.0120091 secs 該內(nèi)存區(qū)域GC所占用的時(shí)間
    7.Times: user=0.00 sys=0.00, real=0.01 secs
    user,用戶態(tài)消耗CPU時(shí)間
    sys,內(nèi)核態(tài)消耗的CPU時(shí)間
    real,操作從開始到結(jié)束所經(jīng)過的墻鐘時(shí)間 (CPU時(shí)間與墻鐘時(shí)間區(qū)別,墻鐘時(shí)間包括各種非運(yùn)算的等待耗時(shí),例如:等待磁盤I/O,等待線程阻塞,而CPU不包括這些耗時(shí))
    多CPU或多核情況,多線程操作會(huì)疊加時(shí)間,所以 user,sys 可能會(huì)超過 real 時(shí)間。
  7. Allocation Failure 引起垃圾回收的原因. 本次GC是因?yàn)槟贻p代中沒有任何合適的區(qū)域能夠存放需要分配的數(shù)據(jù)結(jié)構(gòu)而觸發(fā)的
  8. Ergonomics 表示開啟了 GC自適應(yīng)的調(diào)節(jié)策略
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 每一種收集器的日志形式都是由它們自身的實(shí)現(xiàn)所決定的,換而言之,每個(gè)收集器的日志格式都可以不一樣。但虛擬機(jī)設(shè)計(jì)者為了...
    HRocky閱讀 630評(píng)論 0 1
  • 垃圾回收算法具體實(shí)現(xiàn) 翻譯原文 => plumbr Java GC handbook 前文參見: Java垃圾回收...
    foxracle閱讀 2,994評(píng)論 0 15
  • 聲明:原創(chuàng)文章,轉(zhuǎn)載請(qǐng)注明出處。http://www.itdecent.cn/u/e02df63eaa87 1、J...
    唐影若凡閱讀 1,344評(píng)論 0 6
  • 哪些內(nèi)存需要回收?哪些內(nèi)存需要回收是垃圾回收機(jī)制第一個(gè)要考慮的問題,所謂“要回收的垃圾”無非就是那些不可能再被任何...
    Winterfell_Z閱讀 395評(píng)論 0 1
  • 原文閱讀 前言 這段時(shí)間懈怠了,罪過! 最近看到有同事也開始用上了微信公眾號(hào)寫博客了,挺好的~給他們點(diǎn)贊,這博客我...
    碼農(nóng)戲碼閱讀 6,152評(píng)論 2 31

友情鏈接更多精彩內(nèi)容