9

GC 日志解读与分析(实例分析上篇)

 3 years ago
source link: https://kimmking.blog.csdn.net/article/details/108728966
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

GC 日志解读与分析(实例分析上篇)

kimmking 2020-09-22 12:06:50 66
分类专栏: JVM 核心技术 32 讲

上一节讲述了 GC 日志相关的基础信息和配置。

需要提醒的是,这些参数是基于 JDK 8 配置的。

在 JDK 9 之后的版本中,启动参数有一些变化,继续使用原来的参数配置可能会在启动时报错。不过也不用担心,如果碰到,一般都可以从错误提示中找到对应的处置措施和解决方案。

例如 JDK 11 版本中打印 info 级别 GC 日志的启动脚本:

从 JDK 9 开始,可以使用命令 java -Xlog:help 来查看当前 JVM 支持的日志参数,本文不进行详细的介绍,有兴趣的同学可以查看 JEP 158: Unified JVM LoggingJEP 271: Unified GC Logging

另外,JMX 技术提供了 GC 事件的通知机制,监听 GC 事件的示例程序我们会在《应对容器时代面临的挑战》这一章节中给出。

但很多情况下 JMX 通知事件中报告的 GC 数据并不完全,只是一个粗略的统计汇总。

GC 日志才是我们了解 JVM 和垃圾收集器最可靠和全面的信息,因为里面包含了很多细节。再次强调,分析 GC 日志是一项很有价值的技能,能帮助我们更好地排查性能问题。

下面我们通过实际操作来分析和解读 GC 日志。

Serial


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK