JVM监控功能用于监控重要的JVM指标,包括GC(Garbage Collection)瞬时指标、堆内存指标、非堆内存指标、元空间指标、直接缓冲区指标、JVM线程数等。本文介绍JVM监控功能和查看JVM监控指标的操作步骤。

功能入口

  1. 登录ARMS控制台,在左侧导航栏选择应用监控 > 应用列表

  2. 应用列表页面顶部选择目标地域,然后单击目标应用名称。

    说明

    语言列显示Java图标图标的应用为接入应用监控的应用,显示-图标的应用为接入可观测链路 OpenTelemetry 版的应用。

  3. 在左侧导航栏单击应用详情

  4. 应用详情页面选择您想查看的实例,并在页面右侧单击JVM监控页签。

    JVM监控-arms

查看JVM监控指标

JVM监控页签内展示了GC瞬时次数、GC瞬时耗时、堆内存详情、元空间详情、非堆内存、直接缓冲区和JVM线程数的时序曲线。

  • 单击GC瞬时次数GC瞬时耗时区域右上角的瞬时值累计值按钮,切换查看GC瞬时次数和GC瞬时耗时的时序曲线。

  • 单击各监控面板上的指标名称(例如FullGC次数),打开或关闭该指标在图表中的可见性。

    说明

    每个图表必须至少有一个指标设为可见,这意味着当图表中只有一个指标时,您无法关闭该指标的可见性。

  • 单击各监控面板上的chart图标,查看该指标在某个时间段的统计情况或对比不同日期同一时间段的统计情况。

  • 单击堆内存详情/每分钟元空间详情/每分钟非堆内存/每分钟直接缓冲区/每分钟JVM线程数/每分钟的右上角的查看API按钮,查看该监控指标的API详情。

功能介绍

JVM监控功能可监控以下指标:

  • GC(垃圾收集)瞬时和累计详情

    • FullGC次数

    • YoungGC次数

    • FullGC耗时

    • YoungGC耗时

  • 堆内存详情

    • 堆内存总和

    • 堆内存老年代字节数

    • 堆内存年轻代Survivor区字节数

    • 堆内存年轻代Eden区字节数

  • 元空间

    元空间字节数

  • 非堆内存

    • 非堆内存最大字节数

    • 非堆内存使用字节数

  • 直接缓冲区

    • DirectBuffer总大小(字节)

    • DirectBuffer使用大小(字节)

  • JVM线程数

    • 线程总数量

    • 死锁线程数量

    • 新建线程数量

    • 阻塞线程数量

    • 可运行线程数量

    • 终结线程数量

    • 限时等待线程数量

    • 等待中线程数量

相关文档

ARMS应用监控采集的数据来自JMX,其中非堆内存所包含的内存区域比Java进程中实际的非堆内存区域少,因此可能会出现监控中堆内存+非堆内存总和与通过top命令看到的RES大小存在一定差值,相关细节请参见JVM监控内存详情说明