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

Configurable parameters for the test
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:

  • The name of the OS user should be declared using the service\admin_users profile parameter; (OR)
  • The name of the user group to which the OS user belongs should be declared using the service\admin_groups profile parameter; (OR)
  • The OS user should have the permission to execute the sapstartsrv executable

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:

  • The eG manager license should allow the detailed diagnosis capability
  • Both the normal and abnormal frequencies configured for the detailed diagnosis measures should not be 0.
Measurements made by the test
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