|
Measures reported by JVMDetailsTest
The JVMDetailsTest reveals the health of the Tomcat class loaders and daemon threads, and also indicates JVM availability.
The measures made by this test are as follows:
| Measurement |
Description |
Measurement
Unit |
Interpretation |
| Total_classes_loaded |
Refers to the total number of classes that have been loaded since the Java virtual machine has started execution |
Number |
|
| Classes_loaded |
Indicates the number of classes that have been loaded in the Java virtual machine since the last measurement period |
Number |
Classes are fundamental to the design of Java programming languge. Like many server applications, Tomcat installs a variety of class loaders (that is, classes that implement java.lang.ClassLoader) to allow different portions of the container, and the web applications running on the container, to have access to different repositories of available classes and resources. A consistent decrease in the number of classes loaded and unloaded could indicate a road-block in the loading/unloading of classes by the class loader. If left unchecked, critical resources/classes could be rendered inaccessible to web applications, thereby severely affecting application performance. |
| Classes_unloaded |
Indicates the total number of classes that have been unloaded in the Java virtual machine since the last measurement period |
Number |
| Total_daemon_threads |
Indicates the current number of live daemon threads |
Number |
The main function of the daemon threads is to provide service to other threads, running in the same process as the daemon thread. If the value of this measure is equal to that of the Live_threads measure, then JVM would stop executing; in other words, when the only remaining threads are the daemon threads, then JVM shuts down and so does Tomcat. |
| Live_threads |
Indicates the current number of live daemon and non-daemon threads |
Number |
| Deadlock_threads |
The current number of deadlock threads |
Number |
Ideally, the value of this measure should be 0. A non-zero value indicates the occurrence of a deadlock. When a thread attempts to acquire a resource that is already locked by another thread, a deadlock situation arises.
|
| Server_uptime |
Indicates the total time that the Java virtual machine has been up since its last reboot. |
|
This measure displays the number of years, months, days, hours, minutes and seconds since the last reboot. To ensure that the JVM is up and running for a long time, you need to make sure that at least one non-daemon thread is executing at all times. This is because, without any non-daemon threads, the daemon threads have no recipients for the service it provides; it hence brings down both the JVM and Tomcat. |
|