JVM 指标

JVM 监控页面展示由 OpenTelemetry Java Agent 收集的 JVM(Java 虚拟机)指标数据。指标包括 GC(垃圾回收)、堆内存、非堆内存、JVM 线程、Java 类等。您可以利用监控图表中呈现的实时监控数据进行性能分析,快速定位内存泄漏、线程异常等问题。

为满足不同的监控指标分析场景,还支持以下功能:

  • 当服务存在多个 Pod 时,可以并排对比两个 Pod 的监控数据。
  • 灵活筛选要展示的监控指标。

目录

前提条件

服务已注入 Java Agent,具体实现请参考 Adding Services

操作步骤

  1. 在左侧导航栏点击 Monitoring

  2. 选择要查看监控数据的服务和时间范围。

    注意:查询时间范围受 Prometheus 监控数据保留周期限制。例如,若监控数据保留最长为 7 天,而设置的时间范围为最近 30 天,则统计数据仅覆盖 7 天。

  3. 点击 JVM Monitoring 标签页,查看服务 Pod 的 JVM 监控数据。

    提示:当服务存在多个 Pod 时,勾选 Monitoring Data Comparison 可分析并对比两个 Pod 的监控数据。

    监控图表展示指定服务 Pod 在查询时间范围内 JVM 监控指标的趋势统计。统计数据包括各类内存的最大值、分配值和使用值;CPU 使用率;GC 次数和耗时;活跃线程数;加载/卸载类数量等。

JVM 监控图表说明

监控图表展示指定服务 Pod 在查询时间范围内 JVM 监控指标的趋势统计。监控指标说明见下表。

提示:查看数据时,可参考常规操作刷新监控数据、隐藏图例对应数据或大图查看监控图表。

监控指标说明
Young Gen GC Count/DurationPod 中年轻代垃圾回收的次数及耗时。
Old Gen GC Count/DurationPod 中老年代垃圾回收的次数及耗时。
System/Pod CPU UsageSystem:Pod 系统内的 CPU 使用率(已用 CPU 数量 / 分配给 Pod 的总 CPU 数量)
Pod:Pod 的 CPU 使用率(已用 CPU 数量 / 分配给 Pod 的总 CPU 数量)
Heap MemoryPod 堆内存的可用量及使用量统计,包括:堆内存峰值可用量当前堆内存可用量堆内存使用量
Heap Memory DetailsPod 各堆区内存使用统计,包括:年轻代 Eden 区老年代区年轻代 Survivor 区堆内存总使用量
Non-Heap MemoryPod 非堆内存的可用量及使用量统计,包括:非堆内存峰值可用量当前非堆内存可用量非堆内存使用量
Metaspace MemoryPod Metaspace 内存的可用量及使用量统计,包括:Metaspace 总大小Metaspace 使用大小
Direct Buffer MemoryPod 直接缓冲区内存的可用量及使用量统计,包括:直接缓冲区总大小直接缓冲区使用大小
Daemon ThreadsPod 中守护线程数量。
Active ThreadsPod 中活跃线程数量。
JAVA Class UsagePod 加载的 Java 类数量。
Unloaded Class CountPod 卸载的 Java 类数量。