JVM---GC-GC日誌
阿新 • • 發佈:2022-05-18
/** * 【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工具 * ... */