XM JVM Threads Test
This test reports the status of threads running in the Endpoint Management JVM. Using this test, you can figure out the resource hungry threads and also the threads that are sparsely utilized.
Target of the test : A Citrix Endpoint Management
Agent deploying the test : A remote agent
Outputs of the test : One set of results for the target Endpoint Management server that is being monitored
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 at which the specified host listens. By default, this is 4443. |
Username and Password |
Specify the credentials of a Endpoint Management user with Administrator privileges. |
Confirm Password |
Confirm the password by retyping it here. |
SSL |
Indicate whether/not the Endpoint Management server is SSL-enabled. By default, this flag is set to Yes. |
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 | ||||||
---|---|---|---|---|---|---|---|---|---|
Is Contention monitoring enabled? |
Indicates whether/not contention monitoring is enabled. |
|
Some Java virtual machines may support thread contention monitoring. When thread contention monitoring is enabled, the accumulated elapsed time that the thread has blocked for synchronization or waited for notification will be collected and returned in the ThreadInfo object. The values that this measure reports and their corresponding numeric values are listed in the table below:
Note: By default, this measure reports the Measure Values discussed in the table above. However, the graph of this measure is indicated using the numeric equivalents only. |
||||||
Is CPU time enabled? |
Indicates whether/not the CPU time measuring is enabled. |
|
A Java virtual machine implementation may support measuring the CPU time for the current thread, for any thread, or for no threads. The values that this measure reports and their corresponding numeric values are listed in the table below:
Note: By default, this measure reports the Measure Values discussed in the table above. However, the graph of this measure is indicated using the numeric equivalents only. |
||||||
Peak threads |
Indicates the highest number of live threads since Endpoint Management JVM started. |
Number |
|
||||||
Total started threads |
Indicates the total number of threads started (including daemon, non-daemon, and terminated) during the last measurement period. |
Number |
|
||||||
Threads |
Indicates the total number of threads (including daemon and non-daemon threads). |
Number |
|
||||||
Daemon threads |
Indicates the current number of live daemon threads. |
Number |
|
||||||
Waiting threads |
Indicates the number of threads that are currently in a waiting state. |
Number |
A thread is said to be in a Waiting state if the thread enters a synchronized block, tries to take a lock that is already held by another thread, and hence, waits till the other thread notifies that it has released the lock. Ideally, the value of this measure should be low. A very high value could be indicative of excessive waiting activity on the JVM. You can use the detailed diagnosis of this measure, if enabled, to figure out which threads are currently in the waiting state. While waiting, the Java application program does no productive work and its ability to complete the task-at-hand is degraded. A certain amount of waiting may be acceptable for Java application programs. However, when the amount of time spent waiting becomes excessive or if the number of times that waits occur exceeds a reasonable amount, the Java application program may not be programmed correctly to take advantage of the available resources. When this happens, the delay caused by the waiting Java application programs elongates the response time experienced by an end user. An enterprise may use Java application programs to perform various functions. Delays based on abnormal degradation consume employee time and may be costly to corporations. |
||||||
Runnable threads |
Indicates the current number of threads in a runnable state. |
Number |
The detailed diagnosis of this measure, if enabled, provides the name of the threads, the CPU usage by the threads, the time for which the thread was in a blocked state, waiting state, etc. |
||||||
Blocked threads |
Indicates the number of threads that are currently in a blocked state. |
Number |
If a thread is trying to take a lock (to enter a synchronized block), but the lock is already held by another thread, then such a thread is called a blocked thread. The detailed diagnosis of this measure, if enabled, provides in-depth information related to the blocked threads. |
||||||
Timed waiting threads |
Indicates the number of threads in a TIMED_WAITING state. |
Number |
When a thread is in the TIMED_WAITING state, it implies that the thread is waiting for another thread to do something, but will give up after a specified time out period. To view the details of threads in the TIMED_WAITING state, use the detailed diagnosis of this measure, if enabled. |