美文网首页
GC的参数说明

GC的参数说明

作者: 平头哥2 | 来源:发表于2021-06-29 10:29 被阅读0次

转载:
https://mp.weixin.qq.com/s/VehLNvu502R_XXS_sI4TdA

打印 GC 日志的第一步,就是开启 GC 打印的参数了,也是最基本的参数

-XX:+PrintGCDetails -XX:+PrintGCDateStamps

打印对象分布

为了分析 GC 时的晋升情况和晋升导致的高暂停,不看对象年龄分布日志怎么行

-XX:+PrintTenuringDistribution

GC 后打印堆数据

每次发生 GC 时,对比一下 GC 前后的堆内存情况,更直观

-XX:+PrintHeapAtGC

-XX:+PrintHeapAtGC

暂停时间是 GC 最重要的指标,肯定不能少

-XX:+PrintGCApplicationStoppedTime

打印 safepoint 信息

进入STW阶段之前,需要要找到一个合适的 safepoint ,这个指标一样很重要(非必选,出现 GC 问题时最好加上此参数调试)

-XX:+PrintSafepointStatistics -XX:PrintSafepointStatisticsCount=1

打印 Reference 处理信息

强引用/弱引用/软引用/虚引用/finalize 方法万一有问题,不得打印出来看看?

-XX:+PrintReferenceGC

输出方式

上面只是定义了打印的内容,默认情况下,这些日志会输出到控制台(标准输出)。那如果你的程序日志也输出到控制台呢,这个日志内容就会很乱,分析起来很麻烦。如果你是追加的方式(比如 tomcat 的 catalina.out 就是追加),这个文件会越来越大,分析起来就要命了。

所以需要一种分割日志的机制,这个机制嘛……JVM自然是提供的。

JVM提供了几个用于分割 GC 日志的参数

# GC日志输出的文件路径
-Xloggc:/path/to/gc.log
# 开启日志文件分割
-XX:+UseGCLogFileRotation 
# 最多分割几个文件,超过之后从头开始写
-XX:NumberOfGCLogFiles=14
# 每个文件上限大小,超过就触发分割
-XX:GCLogFileSize=100M

最佳实践 - 完整参数

# 必备
-XX:+PrintGCDetails 
-XX:+PrintGCDateStamps 
-XX:+PrintTenuringDistribution 
-XX:+PrintHeapAtGC 
-XX:+PrintReferenceGC 
-XX:+PrintGCApplicationStoppedTime

# 可选
-XX:+PrintSafepointStatistics 
-XX:PrintSafepointStatisticsCount=1

# GC日志输出的文件路径
-Xloggc:/path/to/gc-%t.log
# 开启日志文件分割
-XX:+UseGCLogFileRotation 
# 最多分割几个文件,超过之后从头文件开始写
-XX:NumberOfGCLogFiles=14
# 每个文件上限大小,超过就触发分割
-XX:GCLogFileSize=100M

相关文章

  • Java GC分析

    [TOC] 1、如何收集GC日志 1.1、 配置JVM启动参数: 1.2、 GC相关启动参数说明 1.2.1、简单...

  • JVM之GC日志续

    本文大概阐述和GC日志相关的jvm启动参数的一些内容。 GC日志相关基本参数 特殊说明:生产环境gc日志要遵循够用...

  • GC的参数说明

    转载:https://mp.weixin.qq.com/s/VehLNvu502R_XXS_sI4TdA[http...

  • kafka调优参数设置

    下面将以Kafka集群设计的各方面参数进行说明:broker端口参数topic级别参数GC配置参数JVM参数OS参...

  • jvm GC参数调优

    (本篇主要以CMS-GC为主,如果对G1感兴趣的我后面也可以补充) 一、GC参数说明与介绍 1.1 jvm启动参数...

  • 【JAVA提升】- JVM实战

    1 参数调试 1.1 GC日志参数 -XX:+PrintGCDetails 打印GC详细日志 -XX:+HeapD...

  • GC常用参数

    GC常用参数 Parallel常用参数 CMS常用参数

  • 教你如何看懂 JavaGC 日志

    JVM GC 相关的参数 -XX:+PrintGC输出GC日志-XX:+PrintGCDetails输出GC的详细...

  • JVM GC 日志详解

    JVM GC 日志详解 本文采用的JDK版本: 一、GC 日志参数 设置JVM GC格式日志的主要参数包括如下8个...

  • JVM学习13·GC日志

    1.GC 常用参数 2.Parallel 常用参数 3.CMS 常用参数 -XX:+UseG1GC 启用CMS垃...

网友评论

      本文标题:GC的参数说明

      本文链接:https://www.haomeiwen.com/subject/aumhultx.html