JVM GC日志输出配置

jupiter
2023-09-05 / 0 评论 / 112 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2023年09月05日,已超过442天没有更新,若内容或图片失效,请留言反馈。

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>

参考资料

  1. Java中的GC(垃圾回收)log ,以及 JVM 介绍_gc java命令_sun0322的博客-CSDN博客
  2. Java GC算法——日志解读与分析(GC参数基础配置分析)-腾讯云开发者社区-腾讯云 (tencent.com)
  3. JVM 配置GC日志_jvm打印gc日志_Coco_淳的博客-CSDN博客
  4. 一篇带你搞定⭐《生产环境JVM日志配置》⭐_不学会Ⅳ的博客-CSDN博客
0

评论 (0)

打卡
取消