GC 日志分析
介绍
GC(垃圾回收)日志分析是一种用于分析 GC 相关问题的技术手段。当 Java 应用出现 GC 引起的长时间暂停和 RT 抖动等问题时,GC 日志可以提供相关 GC 的触发原因、持续时间、内存变化等详细信息。
不同版本的 JDK 和不同的 GC 算法有着不同的日志格式,同时有一系列 JVM 选项控制着内容的详尽程度,这使得直接阅读日志进行分析变得更加困难。 使用 GC 日志分析功能,可以帮助开发者快速发现内存泄漏、长时间暂停、对象过早晋升以及其他影响性能的问题。该功能还提供了对比分析视图,指导开发者进行 GC 性能优化,了解代码或者 JVM 选项变动对 GC 性能的影响。
视图
基础信息
此视图展示了一些基本信息,如 GC 算法、GC 线程数、日志覆盖的时间段。
问题诊断
此视图展示了应用存在的严重问题,并标注在时间轴上。在视图下方会给出严重、需要优先解决的问题,并给出发生的时间和一般的排查调优方法或策略。
时间图
此视图通过可视化的方式展示 GC 耗时、各个区域的内存变化等数据。
暂停信息
此视图展示了 GC 暂停相关的指标,比如平均暂停时间,最大暂停时间。
堆和元空间统计
此视图展示了堆的各个区域和元空间的内存使用数据。
GC阶段和原因
此视图按照 GC 的阶段或原因进行拆分,展示发生的次数,间隔,时长等指标。
对象统计
此视图展示了对象创建和晋升数据。
JVM参数
此视图展示了应用使用的 JVM 参数。
日志详情
此视图展示了每一次 GC 发生的具体情况,并支持按照发生原因等维度进行查询。