1. 程式人生 > 其它 >JVM---GC-GC日誌

JVM---GC-GC日誌

/**
     *  【GC---日誌分析】
     *      <顯示GC日誌>
     *          輸出GC日誌
     *              -XX:+PrintGC 或 -verbose:gc
     *          輸出GC的詳細日誌
     *              -XX:+PrintGCDetails
     *          輸出GC的時間戳(基準時間)
     *              -XX:+PrintGCTimeStamps
     *          輸出GC的時間戳(日期時間)
     *              -XX:+PrintGCDateStamps
     *          在進行GC前後打印出堆的資訊
     *              -XX:+PrintHeapAtGC
     *          日誌檔案輸出路徑
     *              -Xloggc:.../logs/gc.log
     *
     *      <說明>
     *          [GC ...]、[Full GC ...]
     *              垃圾回收型別,Full說明發生了STW;
     *
     *          新生代:
     *              Serial GC 名字是 Default New Generation,顯示為 [DefNew...]
     *              ParNew GC 名字是 Parallel New Generation,顯示為 [ParNew...]
     *              Parallel Scavenge GC 名稱是 [PSYoungGen...]
     *
     *          老年代:
     *              Parallel Old GC ,顯示為 [ParOldGen...]
     *
     *          G1 GC,顯示為 garbage-first heap
     *
     *          eg:
     *              [GC (Allocation Failure) [PSYoungGen: 1859K->544K(20992K)] 1859K->552K(69120K), 0.0007856 secs] [Times: user=0.01 sys=0.00, real=0.00 secs]
     *                  a, Allocation Failure 分配記憶體失敗
     *                  b, [PSYoungGen: 1859K->544K(20992K)] 1859K->552K(69120K)
     *                      [PSYoungGen: 1859K->544K(20992K)] Parallel Scavenge GC 回收新生代,新生代大小20992K,回收前大小1859K,回收後大小544K;
     *                      1859K->552K(69120K) 新生代+老年代總大小69120K,回收前新生代+老年代大小1859K,回收後新生代+老年代大小552K
     *
     *              [Full GC (Allocation Failure) [PSYoungGen: 544K->0K(20992K)] [ParOldGen: 16K->405K(48128K)] 560K->405K(69120K), [Metaspace: 3121K->3121K(1056768K)], 0.0047044 secs] [Times: user=0.01 sys=0.00, real=0.01 secs]
     *
     *      <GC日誌分析工具>
     *          -Xloggc:.../logs/gc.log 將日誌匯出到指定目錄的檔案;
     *
     *          常用工具:
     *              gceasy.io 線上工具
     *              GCViewer 本地jar工具
     *              ...
     */