SAP WAS Garbage Collections Test
Garbage collection (GC) is a part of a Java application’s JVM that automatically determines what memory a program is no longer using, and recycles it for other use. If the garbage collector does not reclaim enough memory, the heap will grow to accommodate more data. If heap growth is not controlled by efficient garbage collection, it can degrade the performance of the SAP Web Application server, and consequently, slowdown its operations. To keep tab on the garbage collection activity based on each type of garbage collection, you can use the SAP WAS Garbage Collections test.
For each type of garbage collection operation performed on the target SAP Web Application server, this test helps you gauge the garbage collection and identify the type of garbage collection that was performed to release maximum memory. When frequent performance dips are noticed on the target server, administrators can use this test to figure out if the dip in server performance is owing to excessive heap growth that was caused by inefficient garbage collection.
Target of the test : A SAP Netweaver Application Server
Agent deploying the test : An internal/remote agent
Outputs of the test : One set of results for each Process:Type of Garbage Collection triggered on the target SAP Netweaver Application Server being monitored
Parameter | Description |
---|---|
Test period |
How often should the test be executed |
Host |
Specify the server for which the test is to be configured. |
Port |
The port number at which the specified server listens. |
WSDL Port |
This test uses the SAPControl web service to pull metrics on application and service status. To enable the test to communicate with the web service, you need to configure the test with the port number of the web service. Therefore, specify the port number of the SAPControl web service against WSDL Port. To determine the exact port number of the SAPControl web service, you can look up the etc/services file on the SAP WAS being monitored. If the port number is not declared in the etc/services file, you can specify the default port number of the web service against WSDL Port. If the web service is not SSL-enabled, then the default port number of the web service will be: 5<NR>13. Similarly, if the web service is SSL-enabled, then the default port number of the web service will be: 5<NR>14. <NR> in the port number refers to the system number of the SAP server being monitored. The system number is an indicator of the TCP/IP port at which the SAP server listens. For example, for a server that listens at port 3200, the system number will be ‘00’. Similarly, if the SAP server port is 3201, the system number will have to be specified as ‘01’. Accordingly, the default port number of an SSL-enabled SAPControl web service will be 50014 , if the system number is 00, or 50114, if the system number is 01. |
OS Username and OS Password |
To enable the test to access the SAPControl web service and determine component state, you need to configure the OS Username and OS Password parameters of the test with the credentials (i.e., name and password) of an OS user, who fulfills one of the following conditions:
|
Confirm Password |
Confirm the OS Password by retyping it here. |
SSL |
Set this flag to Yes, if the SAPControl web service is SSL-enabled. Set this flag to No, if the SAPControl web service is not SSL-enabled. |
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 |
---|---|---|---|
Collections |
Indicates the number of garbage collection operations of this type that occurred during the last measurement period. |
Number |
Compare the value of this measure across garbage collection types to identify the garbage collection type on which frequent garbage collection operations had occurred. The detailed diagnosis of this measure lists the reason for garbage collection, start time of GC, duration, CPU utilization, Object memory released, Object memory, class memory released, class memory , allocated heap memory and classes unloaded. |
Collection rate
|
Indicates the rate at which garbage collection operations of this type occurred. |
Collections/min |
A high value is indicative of frequent garbage collections. This could be owing to rapid and significant heap growth on the node. Frequent garbage collections on a node may degrade its performance. To avoid this, you may want to consider resizing the heap on that node. |
Duration |
Indicates the time taken to perform a garbage collection operation of this type. |
Milliseconds/collection |
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. |
Average CPU utilization |
Indicates the average percentage of CPU utilized by the garbage collection operations of this type. |
Percent |
A high value for this measure indicates that the load on the target server is high and there are less CPU resources available for the functioning of the server. |
Object memory freed |
Indicates the amount of memory released by the objects per garbage collection operation of this type. |
MB/collection |
Compare the value of this measure across garbage collection types to know which type of garbage collection released maximum amount of memory while garbage collection operations were performed. |
Current object memory |
Indicates the amount of memory that is currently occupied by the objects per garbage collection operation of this type. |
MB/collection |
|
Class memory freed |
Indicates the amount of memory released by the loaded classes per garbage collection operation of this type. |
MB/collection |
|
Current class memory |
Indicates the amount of memory that is currently occupied by the loaded classes per garbage collection of this type. |
MB/collection |
|
Heap size |
Indicates the amount of Java heap memory allocated to the objects per garbage collection operation of this type. |
MB/collection |
|
Classes unloaded |
Indicates the number of classes currently unloaded per garbage collection operation of this type. |
Classes/collection |
|
Use the detailed diagnosis of the Collections measure to figure out the reason for garbage collection, start time of GC, duration, CPU utilization, Object memory released, Object memory, class memory released, class memory , allocated heap memory and classes unloaded.
Figure 1 : The detailed diagnosis of the Collections measure