一、内存
(1)输出GC日志
-XX:+PrintGCTimeStamps -XX:+PrintGCDetails -Xloggc:<filename>
-XX:+PrintGCTimeStamps输出从虚拟机启动后到gc发生时的经历的时间(秒)。-XX:+PrintGCDetails输出gc统计信息,-Xloggc:<filename>,gc统计信息保存文件。
例子:(-XX:+UseParallelOldGC or -XX:+UseParallelGC)
0.064: [GC (Allocation Failure) [PSYoungGen: 512K->480K(1024K)] 512K->572K(3584K), 0.0016558 secs] [Times: user=0.00 sys=0.00, real=0.00 secs]
0.064,发生gc的时间标签,单位是s;
GC标签,表明当前GC是一个新生代GC(即minor gc);
PSYoungGen,多线程的吞吐量优先的新生代垃圾收集器;
512K->480K(1024),512K是垃圾收集之前新生代内存占用大小,480K是垃圾收集之后,新生代内存占用大小。(1024K)是新生代的大小包括eden,survivor区;
512K->572K(3584K),表示整个java堆(新生代+老年代)在gc前后的内存占用;
0.0016558 secs,垃圾收集用时;