1.命令格式
java <GC日志参数> -jar <your_application.jar>
2. JDK8 具体的GC日志参数
JVM配置 | 描述 |
---|
-Xloggc:/path/to/gc.log | 写入 GC 日志的路径 |
-XX:+UseGCLogFileRotation | 启用 GC 日志文件轮换 |
-XX:NumberOfGCLogFiles=5 | 要保留的轮换 GC 日志文件数 |
-XX:GCLogFileSize=104857600 | 用于启动轮换的每个 GC 日志文件的大小 |
-XX:+PrintGCDetails | 详细的GC日志 |
-XX:+PrintGCDateStamps | 实际日期和时间戳 |
-XX:+PrintGCApplicationStoppedTime | 应用程序在 GC 期间停止的时间量 |
-XX:+PrintGCApplicationConcurrentTime | 应用程序在 GC 之间运行的时间量 |
-XX:-PrintCommandLineFlags | 打印 GC 日志中的所有命令行标志 |
JVM配置 | 描述 |
---|
-XX:+PrintAdaptiveSizePolicy | 有关GC工程的详细信息 |
-XX:+PrintTenuringDistribution | 幸存者空间的使用和分配 |
-XX:+PrintReferenceGC | 处理引用所花费的时间 |
3.JDK17具体的GC日志参数
-Xlog参数\ | JVM配置 | 描述 |
---|
:file=/opt/gc-%t.log | 写入 GC 日志的路径,%t表示当前时间 |
:filesize=104857600,filecount=5 | 启用日志分割,保留分割 GC 日志文件数+单个GC日志文件的大小<br/>超过了限制将会执行循环写入,先进先出式写入 |
gc* | 详细的GC日志 |
level,tags,time,uptime,pid | 实际日期和时间戳 与关键信息 |
safepoint | 应用程序在 GC 期间停止的时间量 |
-XX:-PrintCommandLineFlags | 打印 GC 日志中的所有命令行标志 |
java -Xlog:gc*,safepoint:file=gc-%t.log:level,tags,time,uptime,pid:filesize=104857600,filecount=5 -jar <your_application.jar>
-Xlog参数\ | JVM配置 | 描述 |
---|
gc+ergo*=trace | 有关GC工程的详细信息 |
gc+age=trace | 幸存者空间的使用和分配 |
gc+phases*=trace | 处理引用所花费的时间 |
java -Xlog:gc*,safepoint,gc+ergo*=trace,gc+age=trace,gc+phases*=trace:file=gc-%t.log:level,tags,time,uptime,pid:filesize=104857600,filecount=5 -jar <your_application.jar>
参考资料
- Java中的GC(垃圾回收)log ,以及 JVM 介绍_gc java命令_sun0322的博客-CSDN博客
- Java GC算法——日志解读与分析(GC参数基础配置分析)-腾讯云开发者社区-腾讯云 (tencent.com)
- JVM 配置GC日志_jvm打印gc日志_Coco_淳的博客-CSDN博客
- 一篇带你搞定⭐《生产环境JVM日志配置》⭐_不学会Ⅳ的博客-CSDN博客
评论 (0)