Increase Java heap above 4G for CA Process Automation

Document ID : KB000032448
Last Modified Date : 10/05/2018
Show Technical Document Details
Introduction:

Introduction / Summary:  

 

CA Process Automation configuration files allow for a modification of the Java heap to be specified if needed for performance increases.

A 64bit Java allows for an unlimited heap to be specified, however caution is advised when specifying a heap larger than 12G. This is due to a number of factors in the way that Java uses memory such as permGen space, the native heap and garbage collection. 

Under most circumstances, setting the minimum/initial and maximum heap to use 3G or 4G is fine, however in some implementations this is not enough. 

The setting that is most often modified for the CA Process Automation Java heap is maintained in the c2osvcw.conf file located in the %PAM_INSTALL%/server/c2o/bin folder.

In the c2osvcw.conf file, the lines are:

# Initial Java Heap Size (in MB)
wrapper.java.initmemory=2048
# Maximum Java Heap Size (in MB)
wrapper.java.maxmemory=2048

Where initmemory and maxmemory settings would be set to, for instance, 4096.

If however it is found that these values must be larger than 4G, then 2 new lines must be added to the end of the file.

There are a number of lines for "wrapper.java.additional.xx=" which are specific Java settings. In order to increase the memory allocated to CA Process Automation, 2 new wrapper lines must be added which set the minimum/initial (Xms) and maximum (Xmx) values. If values larger than 4G are used in the initmemory and maxmemory lines shown above, Java will ignore anything above 4G.

Instructions:

Instructions

To increase the min and max values to 8G (noting that these values should always remain identical) as an example, the following must be done.

1. Comment, using a hash, the two lines (shown above) that define initmemory and maxmemory so that it looks like:

# Initial Java Heap Size (in MB)
#wrapper.java.initmemory=2048
# Maximum Java Heap Size (in MB)
#wrapper.java.maxmemory=2048

2. Next, two lines must be added to the end of the file:

wrapper.java.additional.xx=-Xms8192m
wrapper.java.additional.xx=-Xmx8192m

The "xx" in each of these lines must be replaced with numeric sequential values that continue the sequence that is currently in the file.
So if the last 3 lines show:

wrapper.java.additional.11=-Duser.language=en
wrapper.java.additional.12=-Duser.country=US
wrapper.java.additional.13=-server

Then the following two lines will be numbered as 14 and 15, such as:

wrapper.java.additional.14=-Xms8192m
wrapper.java.additional.15=-Xmx8192m

3. A couple other settings need to be tuned to better handle this increase in memory.  Modify as follows:

wrapper.java.additional.7=-XX:PermSize=256m
wrapper.java.additional.8=-XX:MaxPermSize=768m
 

4. Save the changes and restart CA Process Automation for this update to take affect. 

 

Additional Information:

Additional information regarding the Oracle Java technology can be found here:

http://www.oracle.com/technetwork/java/hotspotfaq-138619.html