The Java 2 platform provides comprehensive monitoring and management support. It not only defines the management interfaces for the Java Virtual Machine (JVM), but also provides out-of-the-box remote monitoring and management on the Java platform and of applications that run on it.
In addition, JDK 5.0 includes the Java Monitoring and Management Console tool (JConsole). JDK 5.0 uses the extensive instrumentation of the JVM to provide information on performance and resource consumption of applications running on the Java platform using Java Management Extension (JMX) technology. JMX provides a standard way to instrument the Java runtime environment and applications. The instrumentation is accessible through the JMX managed bean (MBean) interfaces, which are registered in the platform MBean server. Applications can also create their own MBeans and register them in the platform MBean server, which can serve as a single point for remote access. A JMX-compliant client, such as JConsole, can connect to the platform MBean server and manage the application (as well as the Java platform) using JMX technology. Each platform MBean has a rich set of attributes and operations such as memory usage, thread CPU usage, garbage collection statistics, and so on.
HP SiteScope provides built-in support for JMX, rendering usage of JConsole unnecessary and giving a consolidated view of both operating system counters and Java-specific application measurements. All counters available through JConsole are also accessible via HP SiteScope.
Most Important Java Counters
- Uptime – Indicates how long the JVM has been running.
- Total compile time – Indicates the amount of time spent in just-intime (JIT) compilation.
- Process CPU time – Indicates the total amount of CPU time consumed by the JVM.
- Current heap size – Indicates the number of kilobytes currently occupied by the heap.
- Maximum heap size – Indicates the maximum number of kilobytes occupied by the heap.
- Committed memory – Indicates the total amount of memory allocated for use by the heap.
- GC time – Indicates the cumulative time spent on garbage collection and the total number of invocations.
- Live threads – Indicates the current number of live daemon threads plus non-daemon threads.
- Peak threads – Indicates the highest number of live threads since JVM started.
- Daemon threads – Indicates the current number of live daemon threads.
- Total started threads – Indicates the total number of threads started since JVM started (including daemon, nondaemon, and terminated).
- Current classes loaded – Indicates the number of classes currently loaded into memory.
- Total classes loaded – Total number of classes loaded into memory since the JVM started, included those subsequently unloaded.
- Total classes unloaded – Number of classes unloaded from memory since the JVM started.