JVM 指标
借助 Java 虚拟机(JVM)指标,深入了解运行时数据,排查性能问题并监控应用程序的健康状况。Site24x7 APM Insight Java 代理默认采集 JVM 指标。
JVM 标签页上的所有可视化图表均包含最大值、最小值、第 95 百分位数和平均值的指示器。这些指示器为用户提供 JVM 各方面性能的快速概览。
在客户端查看 JVM 指标:
- 登录您的 Site24x7 Web 客户端。
- 导航至 APM,选择您的 Java 应用程序,然后单击 JVM 标签页。
- 选择需要查看指标的时间范围。

摘要
JVM 使用情况部分提供以下关键性能指标:
| 参数 | 描述 |
|---|---|
| CPU Usage (%) | JVM 使用的 CPU 百分比 |
| Runtime Total Memory (MB) | JVM 可使用的最大内存量 |
| Runtime Free Memory (MB) | JVM 内可用的空闲内存量 |
| JIT Time (ms) | JIT 编译所花费的时间 |
| Classes Loaded | 已加载到 JVM 中的类数量 |
| Classes Unloaded | 已从 JVM 中卸载的类数量 |

JVM CPU 使用率
此图表展示指定时间段内 JVM 的 CPU 使用率百分比。
运行时内存
此饼图展示 JVM 内内存使用的分布情况。

即时编译器
此图表可视化展示 JIT 编译随时间的变化趋势,帮助用户识别编译活动的峰值。绿线代表第 95 百分位数,表示 95% 的编译时间低于此值。
JVM 类数量
此图表可视化展示随时间变化的已加载和已卸载类的数量,提供对 JVM 类加载行为的洞察。
堆内存与非堆内存
JVM 创建的内存池分为堆和非堆两类。
这些图表可视化展示设定时间窗口内内存使用量的变化趋势。

垃圾回收器

此标签页提供对 JVM 垃圾回收过程的行为和性能的洞察。垃圾回收指标帮助您了解 JVM 为清理而收集的对象情况。
根据这些信息,您可以尽可能减少垃圾回收时间来优化应用程序性能。较短的垃圾回收时间有助于实现应用程序任务的高吞吐量。此外,更低的垃圾回收时间意味着系统资源在垃圾回收本身上的消耗减少,进一步提升整体系统效率。
顶部栏显示以下指标:
| 参数 | 描述 |
|---|---|
| Collections Count | 指定时间段内发生的垃圾回收事件次数 |
| Time Spent | 指定时间段内垃圾回收活动所花费的总时间 |
| Total Collections | 发生过的垃圾回收事件的累计次数 |
| Total Time Spent | 垃圾回收活动所花费的累计时间 |
已收集对象数量 - 实例细分
此图表展示每次垃圾回收实例中已收集对象的数量,不同颜色代表不同实例。
已收集对象花费时间 - 实例细分
此图表展示每个实例垃圾回收所花费的时间,不同颜色代表不同实例。
您可以在 JVM 上看到每个垃圾回收器的独立区域。
线程
线程标签页提供对 JVM 内线程活动的详细洞察。

线程
此图表可视化展示线程活动随时间的变化,不同颜色代表不同线程状态。
所有线程的 CPU 时间和用户时间汇总
此图表展示观测期间所有线程消耗的 CPU 总时间和用户总时间。
线程数据
此表格提供带时间戳的详细线程活动数据。
| 参数 | 描述 |
|---|---|
| Collection Time | 数据采集时间戳 |
| Live threads | 当前正在运行的守护线程和非守护线程 |
| Daemon threads | 执行垃圾回收等任务并支持主执行的后台线程 |
| Peak threads | 自 JVM 启动或峰值重置以来的最大线程数 |
| Sleeping threads | 已暂停执行的线程 |
| CPU Time (ms) | 每个采集点所有线程消耗的 CPU 时间 |
| User Time (ms) | 每个采集点所有线程消耗的用户时间 |
内存泄漏检测
此标签页允许您在内存泄漏对应用程序性能产生严重影响之前快速检测和解决问题。

配置
配置标签页仅在实例级别可用。
此标签页提供基本信息,包括当前实例 JVM 及主机环境的元数据。
顶部栏显示以下指标:
| 参数 | 描述 |
|---|---|
| Up Time | JVM 持续运行的总时长 |
| Processor Count | JVM 可用的处理器数量 |
| Total Classes | 正常运行时间内加载的类总数 |
| Total Threads | 正常运行时间内生成的线程总数 |
常规
| 参数 | 描述 |
|---|---|
| JVM Name | 正在使用的 JVM 名称 |
| JVM Version | JVM 版本,包括构建号 |
| JVM PID | JVM 实例的进程 ID (PID) |
| Java Home | JVM(JRE 或 JDK)安装的目录路径 |
| Java Arguments | JVM 启动时传递的参数列表,包括各种配置和属性 |
| Java Version | JVM 使用的 Java 版本 |
| Java vendor | 提供正在使用的 Java 实现的组织(如 Oracle、OpenJDK 或 Eclipse Temurin) |
| Class Version | JVM 使用的 Java 类文件格式的版本号 |
| Boot Classpath | JVM 引导类加载器使用的类文件路径 |
| Library Path | JVM 可加载的本地库路径 |
| Classpath | JVM 使用的用户类和资源路径 |
| Agent Install Path | 为监控当前实例而添加的 Java 代理文件 apminsight-javaagent.jar 的安装路径 |
| Application Start Time | JVM 的启动日期和时间(用户时间) |

主机
| 参数 | 描述 |
|---|---|
| OS | JVM 所部署的主机上运行的操作系统 |
| OS Arch | 操作系统架构,表示是 32 位还是 64 位 |
| OS Version | 主机上运行的操作系统版本 |
内存
| 参数 | 描述 |
|---|---|
| Heap Initial(MB) | 为 JVM 堆空间分配的初始内存量 |
| Heap Maximum(MB) | 可为 JVM 堆空间分配的最大内存量 |
| Non-Heap Initial(MB) | 为 JVM 非堆空间分配的初始内存量 |
| Non-Heap Maximum(MB) | 可为 JVM 非堆空间分配的最大内存量 |

您还可以为 JVM 指标配置告警。
