JVM-GC日志查看
更新时间
浏览
TIP
本文主要是介绍 JVM-GC日志查看 。
# 【GC分析】Java GC日志查看
# Java中的GC有哪几种类型?
参数 | 描述 |
---|---|
UseSerialGC | 虚拟机运行在Client模式的默认值,打开此开关参数后,使用Serial+Serial Old收集器组合进行垃圾收集。 |
UseParNewGC | 打开此开关参数后,使用ParNew+Serial Old收集器组合进行垃圾收集。 |
UseConcMarkSweepGC | 打开此开关参数后,使用ParNew+CMS+Serial Old收集器组合进行垃圾收集。Serial Old作为CMS收集器出现Concurrent Mode Failure的备用垃圾收集器。 |
UseParallelGC | 虚拟机运行在Server模式的默认值,打开此开关参数后,使用Parallel Scavenge+Serial Old收集器组合进行垃圾收集。 |
UseParallelOldGC | 打开此开关参数后,使用Parallel Scavenge+Parallel Old收集器组合进行垃圾收集。 |
在Java程序启动完成后,通过jps观察进程来查询到当前运行的java进程,使用
jinfo –flag UseSerialGC 进程
的方式可以定位其使用的gc策略,因为这些参数都是boolean型的常量,如果使用该种gc策略会出现+号,否则-号。
使用-XX:+上述GC策略可以开启对应的GC策略。
# GC日志查看
可以通过在java命令种加入参数来指定对应的gc类型,打印gc日志信息并输出至文件等策略。
GC的日志是以替换的方式(>
)写入的,而不是追加(>>
),如果下次写入到同一个文件中的话,以前的GC内容会被清空。
对应的参数列表
-XX:+PrintGC 输出GC日志
-XX:+PrintGCDetails 输出GC的详细日志
-XX:+PrintGCTimeStamps 输出GC的时间戳(以基准时间的形式)
-XX:+PrintGCDateStamps 输出GC的时间戳(以日期的形式,如 2013-05-04T21:53:59.234+0800)
-XX:+PrintHeapAtGC 在进行GC的前后打印出堆的信息
-Xloggc:../logs/gc.log 日志文件的输出路径
更多日志信息:查看参见原文:
参考文章1:【GC分析】Java GC日志查看 (opens new window)
参考文章2:GC日志详解 (opens new window)
# 参考文章
- https://blog.csdn.net/qq_28165595/article/details/82431226
- https://www.cnblogs.com/qlqwjy/p/7929414.html
← JVM-常见回收类型区别 JVM-参数调优 →