JVM 监控页面展示由 OpenTelemetry Java Agent 收集的 JVM(Java 虚拟机)指标数据。指标包括 GC(垃圾回收)、堆内存、非堆内存、JVM 线程、Java 类等。您可以利用监控图表中呈现的实时监控数据进行性能分析,快速定位内存泄漏、线程异常等问题。
为满足不同的监控指标分析场景,还支持以下功能:
服务已注入 Java Agent,具体实现请参考 Adding Services。
在左侧导航栏点击 Monitoring。
选择要查看监控数据的服务和时间范围。
注意:查询时间范围受 Prometheus 监控数据保留周期限制。例如,若监控数据保留最长为 7 天,而设置的时间范围为最近 30 天,则统计数据仅覆盖 7 天。
点击 JVM Monitoring 标签页,查看服务 Pod 的 JVM 监控数据。
提示:当服务存在多个 Pod 时,勾选 Monitoring Data Comparison 可分析并对比两个 Pod 的监控数据。
监控图表展示指定服务 Pod 在查询时间范围内 JVM 监控指标的趋势统计。统计数据包括各类内存的最大值、分配值和使用值;CPU 使用率;GC 次数和耗时;活跃线程数;加载/卸载类数量等。
监控图表展示指定服务 Pod 在查询时间范围内 JVM 监控指标的趋势统计。监控指标说明见下表。
提示:查看数据时,可参考常规操作刷新监控数据、隐藏图例对应数据或大图查看监控图表。
监控指标 | 说明 |
---|---|
Young Gen GC Count/Duration | Pod 中年轻代垃圾回收的次数及耗时。 |
Old Gen GC Count/Duration | Pod 中老年代垃圾回收的次数及耗时。 |
System/Pod CPU Usage | System:Pod 系统内的 CPU 使用率(已用 CPU 数量 / 分配给 Pod 的总 CPU 数量) Pod:Pod 的 CPU 使用率(已用 CPU 数量 / 分配给 Pod 的总 CPU 数量) |
Heap Memory | Pod 堆内存的可用量及使用量统计,包括:堆内存峰值可用量、当前堆内存可用量、堆内存使用量。 |
Heap Memory Details | Pod 各堆区内存使用统计,包括:年轻代 Eden 区、老年代区、年轻代 Survivor 区、堆内存总使用量。 |
Non-Heap Memory | Pod 非堆内存的可用量及使用量统计,包括:非堆内存峰值可用量、当前非堆内存可用量、非堆内存使用量。 |
Metaspace Memory | Pod Metaspace 内存的可用量及使用量统计,包括:Metaspace 总大小、Metaspace 使用大小。 |
Direct Buffer Memory | Pod 直接缓冲区内存的可用量及使用量统计,包括:直接缓冲区总大小、直接缓冲区使用大小。 |
Daemon Threads | Pod 中守护线程数量。 |
Active Threads | Pod 中活跃线程数量。 |
JAVA Class Usage | Pod 加载的 Java 类数量。 |
Unloaded Class Count | Pod 卸载的 Java 类数量。 |