eG Monitoring
 

Measures reported by JvmMemPoolGCTest

While the JVM Garbage Collections test reports statistics indicating how well each collector on the JVM performs garbage collection, the measures reported by the JVM Memory Pool Garbage Collections test help assess the impact of the garbage collection activity on the availability and usage of memory in each memory pool of the JVM. Besides revealing the count of garbage collections per collector and the time taken by each collector to perform garbage collection on the individual memory pools, the test also compares the amount of memory used and available for use pre and post garbage collection in each of the memory pools. This way, the test enables administrators to guage the effectiveness of the garbage collection activity on the memory pools, and helps them accurately identify those memory pools where enough memory could not reclaimed or where the garbage collectors spent too much time.

Note:

This test will work only if the target Java application uses the JDK/JRE offered by one of the following vendors: Oracle, Sun, OpenJDK. IBM JDK/JRE is not supported.

The measures made by this test are as follows:

Measurement Description Measurement Unit Interpretation
has_collected Indicates whether garbage collection occurred on this memory pool in the last measurement period.   This measure reports the value Yes if garbage collection took place or No if it did not take place on the memory pool.

The numeric values that correspond to the measure values of Yes and No are listed below:

State Value
Yes 1
No 0

Note:

By default, this measure reports the value Yes or No to indicate whether a GC occurred on a memory pool or not. The graph of this measure however, represents the same using the numeric equivalents - 0 or 1.

collection_count Indicates the number of time in the last measurement pool garbage collection was started on this memory pool. Number  
mem_init_beforegc Indicates the initial amount of memory (in MB) that this memory pool requests from the operating system for memory management during startup, before GC process. MB Comparing the value of these two measures for a memory pool will give you a fair idea of the effectiveness of the garbage collection activity.

If garbage collection reclaims a large amount of memory from the memory pool, then the Initial memory after GC will drop. On the other hand, if the garbage collector does not reclaim much memory from a memory pool, or if the Java application suddenly runs a memory-intensive process when GC is being performed, then the Initial memory after GC may be higher than the Initial memory before GC.

mem_init_aftergc Indicates the initial amount of memory (in MB) that this memory pool requests from the operating system for memory management during startup, after GC process. MB
mem_max_beforegc Indicates the maximum amount of memory that can be used for memory management by this memory pool, before GC process. MB Comparing the value of these two measures for a memory pool will provide you with insights into the effectiveness of the garbage collection activity.

If garbage collection reclaims a large amount of memory from the memory pool, then the Max memory after GC will drop. On the other hand, if the garbage collector does not reclaim much memory from a memory pool, or if the Java application suddenly runs a memory-intensive process when GC is being performed, then the Max memory after GC value may exceed the Max memory before GC.

mem_max_aftergc Indicates the maximum amount of memory (in MB) that can be used for memory management by this pool, after the GC process. MB
mem_committed_beforegc Indicates the amount of memory that is guaranteed to be available for use by this memory pool, before the GC process. MB  
mem_committed_aftergc Indicates the amount of memory that is guaranteed to be available for use by this memory pool, after the GC process. MB  
mem_used_beforegc Indicates the amount of memory used by this memory pool before GC. MB Comparing the value of these two measures for a memory pool will provide you with insights into the effectiveness of the garbage collection activity.

If garbage collection reclaims a large amount of memory from the memory pool, then the Used memory after GC may drop lower than the Used memory before GC. On the other hand, if the garbage collector does not reclaim much memory from a memory pool, or if the Java application suddenly runs a memory-intensive process when GC is being performed, then the Used memory after GC value may exceed the Used memory before GC.

mem_used_aftergc Indicates the amount of memory used by this memory pool after GC. MB
pct_mem_collected Indicates the percentage of memory collected from this pool by the GC activity. Percent A high value for this measure is indicative of a large amount of unused memory in the pool. A low value on the other hand indicates that the memory pool has been over-utilized. Compare the value of this measure across pools to identify the pools that have very little free memory. If too many pools appear to be running short of memory, it could indicate that the target application is consuming too much memory, which in the long run, can slow down the application significantly.
gc_duration Indicates the time taken by this garbage collector for collecting unused memory from this pool. Mins Ideally, the value of this measure should be low. This is because, the garbage collection (GC) activity tends to suspend the operations of the application until such time that GC ends. Longer the GC time, longer it would take for the application to resume its functions. To minimize the impact of GC on application performance, it is best to ensure that GC activity does not take too long to complete.