JVM

Note: Sysdig follows the Prometheus-compabtible naming convention for both metrics and labels as opposed to the previous statsd-compatible, legacy Sysdig naming convention. However, this page still shows metrics in the legacy Sysdig naming convention. Until this page is updated, see Metrics and Label Mapping for the mapping between Sysdig legacy and Prometheus naming conventions.

jvm.class.loaded

The number of classes currently loaded in the JVM. By default, this metric shows the total value of the selected scope. For example, if applied to a group of machines, the value will be the total value for the whole group.

jvm.class.unloaded

jvm.gc.ConcurrentMarkSweep.count

The number of times the Concurrent Mark-Sweep garbage collector has run.

jvm.gc.ConcurrentMarkSweep.time

The total time the Concurrent Mark-Sweep garbage collector has run.

jvm.gc.Copy.count

jvm.gc.Copy.time

jvm.gc.G1_Old_Generation.count

jvm.gc.G1_Old_Generation.time

jvm.gc.G1_Young_Generation.count

jvm.gc.G1_Young_Generation.time

jvm.gc.global.time

The total time the garbage collection has run.

jvm.gc.MarkSweepCompact.count

jvm.gc.MarkSweepCompact.time

jvm.gc.PS_MarkSweep.count

The number of times the parallel scavenge Mark-Sweep old generation garbage collector has run.

jvm.gc.PS_MarkSweep.time

The total time the parallel scavenge Mark-Sweep old generation garbage collector has run.

jvm.gc.PS_Scavenge.count

The number of times the parallel eden/survivor space garbage collector has run.

jvm.gc.PS_Scavenge.time

The total time the parallel eden/survivor space garbage collector has run.

jvm.gc.ParNew.count

The number of times the parallel garbage collector has run.

jvm.gc.ParNew.time

The total time the parallel garbage collector has run.

jvm.gc.scavenge.time

The total time the scavenge collector has run.

jvm.heap.committed

The amount of memory that is currently allocated to the JVM for heap memory. Heap memory is the storage area for Java objects. By default, this metric shows the total value of the selected scope. For example, if applied to a group of machines, the value will be the total value for the whole group.

The JVM may release memory to the system and Heap Committed could decrease below Heap Init; but Heap Committed can never increase above Heap Max.

jvm.heap.init

The initial amount of memory that the JVM requests from the operating system for heap memory during startup (defined by the –Xms option).The value of Heap Init may be undefined. By default, this metric shows the total value of the selected scope. For example, if applied to a group of machines, the value will be the total value for the whole group.

The JVM may request additional memory from the operating system and may also release memory to the system over time.

jvm.heap.max

The maximum size allocation of heap memory for the JVM (defined by the –Xmx option). By default, this metric shows the total value of the selected scope. For example, if applied to a group of machines, the value will be the total value for the whole group.

Any memory allocation attempt that would exceed this limit will cause an OutOfMemoryError exception to be thrown.

jvm.heap.used

The amount of allocated heap memory (ie Heap Committed) currently in use. The number of classes currently loaded in the JVM. By default, this metric shows the total value of the selected scope. For example, if applied to a group of machines, the value will be the total value for the whole group.

Heap memory is the storage area for Java objects.

An object in the heap that is referenced by another object is ’live’, and will remain in the heap as long as it continues to be referenced. Objects that are no longer referenced are garbage and will be cleared out of the heap to reclaim space.

jvm.heap.used.percent

The ratio between Heap Used and Heap Committed. By default, this metric shows the total value of the selected scope. For example, if applied to a group of machines, the value will be the total value for the whole group.

jvm.nonHeap.committed

The amount of memory that is currently allocated to the JVM for non-heap memory. By default, this metric shows the total value of the selected scope. For example, if applied to a group of machines, the value will be the total value for the whole group.

Non-heap memory is used by Java to store loaded classes and other meta-data.

The JVM may release memory to the system and Non-Heap Committed could decrease below Non-Heap Init; but Non-Heap Committed can never increase above Non-Heap Max.

jvm.nonHeap.init

The initial amount of memory that the JVM requests from the operating system for non-heap memory during startup. By default, this metric shows the total value of the selected scope. For example, if applied to a group of machines, the value will be the total value for the whole group.

The value of Non-Heap Init may be undefined.

The JVM may request additional memory from the operating system and may also release memory to the system over time.

jvm.nonHeap.max

The maximum size allocation of non-heap memory for the JVM. This memory is used by Java to store loaded classes and other meta-data. By default, this metric shows the total value of the selected scope. For example, if applied to a group of machines, the value will be the total value for the whole group.

jvm.nonHeap.used

The amount of allocated non-heap memory (Non-Heap Committed) currently in use. By default, this metric shows the total value of the selected scope. For example, if applied to a group of machines, the value will be the total value for the whole group.

Non-heap memory is used by Java to store loaded classes and other meta-data.

jvm.nonHeap.used.percent

The ratio between Non-Heap Used and Non-Heap Committed. By default, this metric shows the total value of the selected scope. For example, if applied to a group of machines, the value will be the total value for the whole group.

jvm.thread.count

The current number of live daemon and non-daemon threads. By default, this metric shows the total value of the selected scope. For example, if applied to a group of machines, the value will be the total value for the whole group.

jvm.thread.daemon

The current number of live daemon threads. By default, this metric shows the total value of the selected scope. For example, if applied to a group of machines, the value will be the total value for the whole group.

Daemon threads are used for background supporting tasks and are only needed while normal threads are executing.