Java Installations Test
Java installations refer to the Java Runtime Environment (JRE) and Java Development Kit (JDK) versions installed on a server that are required for running Java-based applications and services. Incorrect Java versions, non-compliant installations, Java binaries installed outside standard locations, or improperly configured JVM startup parameters can lead to application failures, security vulnerabilities, memory mismanagement, performance degradation, and unexpected runtime behavior. Additionally, uncontrolled or misconfigured running Java processes may consume excessive system resources and impact overall server stability.
The Java Installations test monitors Java installations across all vendors and reports the number of installed and running Java instances per vendor. It identifies installations that do not meet the configured minimum Java version, detects Java installed outside expected directories, and tracks active Java processes. In addition, the test highlights JVM configuration issues such as missing or conflicting heap settings (Xms/Xmx), inappropriate use of MaxRAMPercentage, and security risks arising from passwords exposed in process arguments. By providing comprehensive visibility into Java version compliance, runtime usage, configuration consistency, and security posture, this test enables administrators to proactively resolve compatibility issues, optimize resource utilization, enforce standards, and ensure the stable, secure operation of Java-based workloads.
This test is disabled by default. To enable the test, go to the enable / disable tests page using the menu sequence : Agents -> Tests -> Enable/Disable, pick the desired Component type, set Performance as the Test type, choose the test from the disabled tests list, and click on the < button to move the test to the ENABLED TESTS list. Finally, click the Update button.
Target of the test : Any host system
Agent deploying the test : An internal agent
Outputs of the test : One set of results for every Java vendor on the monitored host system.
| Parameter | Description |
|---|---|
|
Test Period |
How often should the test be executed. |
|
Host |
The host for which the test is to be configured. |
|
Port |
The port on which the server is listening. By default, it is given as NULL. |
|
Java Minimum Version |
Specify the minimum Java version that installations on the target host are expected to comply with. By default, this is set to none, indicating that no version compliance check is enforced. If a version value is configured, the test compares all detected Java installations against the specified version and reports those that do not meet the requirement in the Java installations not compliant with minimum version measure. Specify the version in one of the following formats: 12.0.11 or 15 or 7u341 or J2SE Development Kit 5.0 Update 20. |
|
Exclude Installs |
Specify a comma-separated list of Java installations that should be excluded from monitoring. Wildcard patterns are supported. By default, *egurkha*, *egvm* are excluded from monitoring. If you wish to exclude more installations, you can specify in this text box. |
|
Exclude Java Processes |
Provide a comma-separated list of Java processes that should be excluded from monitoring. By default, this is set to none. One or more Java process names can be provided as comma-separated values using wild card patterns. |
|
DD Frequency |
Refers to the frequency with which detailed diagnosis measures are to be generated for this test. The default is 1:1. This indicates that, by default, detailed measures will be generated every time this test runs, and also every time the test detects a problem. You can modify this frequency, if you so desire. Also, if you intend to disable the detailed diagnosis capability for this test, you can do so by specifying none against DD frequency. |
|
Detailed Diagnosis |
To make diagnosis more efficient and accurate, the eG Enterprise embeds an optional detailed diagnostic capability. With this capability, the eG agents can be configured to run detailed, more elaborate tests as and when specific problems are detected. To enable the detailed diagnosis capability of this test for a particular server, choose the On option. To disable the capability, click on the Off option. The option to selectively enable/disable the detailed diagnosis capability will be available only if the following conditions are fulfilled:
|
| Measurement | Description | Measurement Unit | Interpretation |
|---|---|---|---|
|
Number of Java installations |
Indicates the total number of Java installations detected for this vendor on the target host. |
Number |
|
|
Java installations not compliant with minimum version |
Indicates the number of Java installations for this vendor that do not meet the configured minimum Java version. |
Number |
A non-zero value is a cause for concern, as outdated Java versions may expose the system to security vulnerabilities, compatibility issues, and unsupported runtime behavior. |
|
Java not in 'Program Files' location |
Indicates the number of Java installations for this vendor that are not installed under the standard Program Files directory. |
Number |
This measure is only reported for Microsoft Windows and related components. Java installations outside expected directories may indicate non-standard setups, manual installations, or potential security risks, making management and patching more difficult. |
|
Running Java instances |
Indicates the number of Java processes currently running on the host for this vendor. |
Number |
A high value suggests heavy Java workload activity. This may be expected in application servers, but unexpected spikes could indicate runaway processes or misconfigured applications. |
|
Java processes running without Xmx settings |
Indicates the number of running Java processes for this vendor that do not have maximum heap size (Xmx) configured. |
Number |
Java processes without Xmx limits may consume excessive memory, potentially leading to memory exhaustion and system instability. |
|
Java processes running with multiple Xmx settings |
Indicates the number of Java processes for this vendor that are started with multiple Xmx parameters. |
Number |
Multiple Xmx values can cause ambiguity in heap size allocation and may result in unpredictable JVM behavior. This typically points to misconfigured startup parameters. |
|
Java processes with passwords in arguments |
Indicates the number of Java processes for this vendor that have passwords exposed in their startup arguments. |
Number |
This is a security risk, as credentials passed in command-line arguments can be visible to other users or processes on the system. |
|
Java processes with MaxRAMPercentage in arguments |
Indicates the number of Java processes for this vendor that are configured with the MaxRAMPercentage JVM option. |
Number |
This shows that JVM memory usage is dynamically tuned based on available system memory. While useful in containerized or dynamic environments, improper values may still lead to memory pressure. |
|
Java processes with Xms-Xmx inconsistencies |
Indicates the number of Java processes for this vendor where the initial heap size (Xms) and maximum heap size (Xmx) settings are inconsistent. |
Number |
Inconsistent Xms and Xmx values can lead to frequent heap resizing, increased garbage collection overhead, and degraded application performance. |