All Products
Document Center

Application Real-Time Monitoring Service:JVM monitoring

Last Updated:Jan 19, 2024

The Java Virtual Machine (JVM) monitoring feature allows you to monitor key JVM metrics, such as metrics related to instantaneous garbage collections (GCs), heap memory, non-heap memory, metaspace, direct buffer, and JVM threads. This topic describes the JVM monitoring feature and shows you how to view the JVM metrics.


  1. Log on to the ARMS console. In the left-side navigation pane, choose Application Monitoring > Applications.

  2. On the Applications page, select a region in the top navigation bar and click the name of the application that you want to manage.


    If the Java图标 icon is displayed in the Language column, the application is connected to Application Monitoring. If a hyphen (-) is displayed, the application is connected to Managed Service for OpenTelemetry.

  3. In the left-side navigation pane, click Application Details.

  4. On the Application Details page, click the instance that you want to view in the left-side pane, and then click the JVM monitoring tab on the right side.


View the JVM metrics

On the JVM monitoring tab, you can view the time series curves for the number of instantaneous GCs, time consumed for instantaneous GCs, heap memory details, metadata details, non-heap memory details, direct buffer details, and number of JVM threads.

  • You can click Instantaneous or Accumulated in the upper-right corner of the Instantaneous Count and Instantaneous Duration charts to switch between different curves. You can view the time series curves for the quantities of instantaneous GCs and accumulated GCs, and time consumed for instantaneous GCs and accumulated GCs.

  • You can click the name of a metric such as FullGC Count on a chart to show or hide the metric.


    Each chart must contain at least one visible metric. If only one metric is displayed in a chart, you cannot hide the metric.

  • Click the chart icon on each chart to view the statistics of the metric in a specific time period or compare the statistics of the metric in the same time period on different days.

  • You can click the View API icon in the upper-right corner of the Heap Memory Details / 1 Min, Metadata Details / 1 Min, Non-Heap Memory / 1 Min, Direct Buffer / 1 Min, and JVM Threads / 1 Min charts to view the detailed information about the APIs that are related to the metrics.


The JVM monitoring feature can be used to monitor the following metrics:

  • Instantaneous and accumulated GC details

    • Number of full heap GCs (full GCs)

    • Number of GCs in the young generation

    • Time consumed for full GCs

    • Time consumed for GCs in the young generation

  • Heap memory details

    • Total heap memory

    • Amount of heap memory in the old generation in bytes

    • Amount of heap memory in the young generation (survivor space) in bytes

    • Amount of heap memory in the young generation (eden space) in bytes

  • Metaspace details

    Size of metaspace in bytes

  • Non-heap memory details

    • Maximum amount of non-heap memory in bytes

    • Amount of used non-heap memory in bytes

  • Direct buffer details

    • Total direct buffer in bytes

    • Used direct buffer in bytes

  • JVM thread details

    • Total number of threads

    • Number of deadlocked threads

    • Number of new threads

    • Number of blocked threads

    • Number of runnable threads

    • Number of terminated threads

    • Number of threads in the timed waiting state

    • Number of waiting threads


The data collected by Application Monitoring comes from Java Management Extensions (JMX), excluding some non-heap memory areas of Java processes. Therefore, the sum of heap and non-heap memory displayed in Application Monitoring differ greatly from the Resident Memory Size in KiB (RES) queried by running the top command. For more information, see JVM memory details.