如何启动GC日志
启动JVM时加上如下参数
-verbose:gc -Xloggc:/gc.log -XX:+PrintGCDetails -XX:PrintGCDateStamps
- -verbose:gc标识输出GC相关信息
- -Xloggc:/gc.log指定GC日志存放的文件路径
- -XX:+PrintGCDetails标识输出GC详情
- -XX:+PrintGCDateStamps表示日志中输出GC的时间戳
GC日志能够提供什么信息
通过GC日志,能够看到每一次GC的记录。
- 时间方面,包括GC开始的时间和执行时间。其中执行时间还分为sys、user和real。
- 空间方面,能够知道总的堆大小,回收前新生代和老生代的内存大小,回收后新生代和老生代的内存大小。
- 通过新生代和老生代内存变化,可以分析出GC是由新生代触发的,还是由老生代触发的。