日志详细信息
-XX:+PrintHeapAtGC
控制台打印日志信息
-verbose:gc -XX:+PrintGCDetails
输出到指定路径
-Xloggc:./gc.log
日志大小分块
-XX:-UseGCLogFileRotation -XX:GCLogFileSize = 8M
堆内存异常打印
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=hdpserver_oom.hprof
Young GC日志
[GC (System.gc()) [PSYoungGen: 105324K->480K(149504K)] 310421K->205577K(491008K), 0.0013451 secs] [Times: user=0.00 sys=0.00, real=0.01 secs]
新生代发生GC ,从堆内存回收前占用:105324K 回收后变为占用480K ,后面表示GC的用时。
Full GC日志
[Full GC (System.gc()) [PSYoungGen: 480K->0K(149504K)] [ParOldGen: 205097K->581K(341504K)] 205577K->581K(491008K), [Metaspace: 4065K->4065K(1056768K)], 0.0094772 secs] [Times: user=0.03 sys=0.00, real=0.01 secs]
当发生老年代GC时,也会触发新生代GC,新生代堆回收前占用488K,回收后占用0K,ParOldGen 老年代回收前占用205097K,回收后占用581K,Metaspace表示元空间的情况
GC日志分析工具
GCViewer、GCEasy、GCHisto、GCLogViewer 、Hpjmeter、garbagecat
网友评论