Server stops responding out of the blue. the other server that supports this continues running, the load balancer gets hung on this dead server so it does not switch to the other. This is found in the wcc-services.log
INFO | jvm 1 | 2017/11/01 07:51:54 | 1019813 | 4828 AckThread[recycle_thread.cpp:541]: Could not create thread for object [5AB815A8] Max iterations[-1] Delete object on exit?[YES] Check for shutdown?[YES]
INFO | jvm 1 | 2017/11/01 07:51:54 | 1019813 | CAUAJM_E_00051 Unable to create thread! [5AB815A8][00000000]:Not enough space
INFO | jvm 1 | 2017/11/01 07:51:54 | 1019813 | Nov 01, 2017 7:51:54 AM com.ca.wcc.dbresource.datasource.UnlockingDatasource isConnectionValid
INFO | jvm 1 | 2017/11/01 07:51:54 | 1019813 | SEVERE: unable to create new native thread
Server stops responding out of the blue. the other server that supports this continues running, the load balancer gets hung on this dead server so it does not switch to the other.
This is found in the wcc-services.log
INFO | jvm 1 | 2017/11/01 07:51:54 | 1019813 | 4828 AckThread[recycle_thread.cpp:541]: Could not create thread for object [5AB815A8] Max iterations[-1] Delete object on exit?[YES] Check for shutdown?[YES]
INFO | jvm 1 | 2017/11/01 07:51:54 | 1019813 | CAUAJM_E_00051 Unable to create thread! [5AB815A8][00000000]:Not enough space
INFO | jvm 1 | 2017/11/01 07:51:54 | 1019813 | Nov 01, 2017 7:51:54 AM com.ca.wcc.dbresource.datasource.UnlockingDatasource isConnectionValid
INFO | jvm 1 | 2017/11/01 07:51:54 | 1019813 | SEVERE: unable to create new native thread
How do I resolve this?
WCC 11.4
In <WCC>\tomcat_32\conf\wrapper.conf, please change the following line:
wrapper.java.maxmemory=816
to
wrapper.java.maxmemory=1024
In the same file, find the lines with PermSize and MaxPermSize and replace "Perm" with "Metaspace" so it'll look similar to the following:
wrapper.java.additional.7=-XX:MetaspaceSize=64M
wrapper.java.additional.8=-XX:MaxMetaspaceSize=256M
Save the change and restart CA-wcc-services.
The parameters are used for java command line options.
One is to set maximum size of memory pool for the Java Run Time environment.
The other two are used to control how the JVM allocates memory.
According to my google research, XX:PermSize and XX:MaxPermSize have been removed in Java 8 while -XX:MaxMetaspaceSize and -XX:MetaspaceSize are added. I'm assuming you're using Java 8. You can run java -version under your %CA_WCC_INSTALL_LOCATION%\jre_32\bin to confirm it.
Here is the URL to the Oracle documentation on java 8 (Windows):
https://techdocs.broadcom.com/us/en/ca-enterprise-software/intelligent-automation/workload-automation-ae-and-workload-control-center/11-3-6-SP8/installing/ae-installation/post-installation-procedures-for-the-server/change-the-web-server-java-heap-size.html
Please note that the -Xmxsize or -XX:MaxHeapSize=size corresponds to wrapper.java.maxmemory.
-XX:MaxHeapSize=size
Sets the maximum size (in byes) of the memory allocation pool. This value must be a multiple of 1024 and greater than 2 MB. Append the letter k or K to indicate kilobytes, m or M to indicate megabytes, g or G to indicate gigabytes. The default value is chosen at runtime based on system configuration. For server deployments, -XX:InitialHeapSize and -XX:MaxHeapSize are often set to the same value. See the section "Ergonomics" in Java SE HotSpot Virtual Machine Garbage Collection Tuning Guide at http://docs.oracle.com/javase/8/docs/technotes/guides/vm/gctuning/index.html.
The following examples show how to set the maximum allowed size of allocated memory to 80 MB using various units:
-XX:MaxHeapSize=83886080
-XX:MaxHeapSize=81920k
-XX:MaxHeapSize=80m
The -XX:MaxHeapSize option is equivalent to -Xmx.
-XX:MaxMetaspaceSize=size
Sets the maximum amount of native memory that can be allocated for class metadata. By default, the size is not limited. The amount of metadata for an application depends on the application itself, other running applications, and the amount of memory available on the system.
The following example shows how to set the maximum class metadata size to 256 MB:
-XX:MaxMetaspaceSize=256m
-XX:MetaspaceSize=size
Sets the size of the allocated class metadata space that will trigger a garbage collection the first time it is exceeded. This threshold for a garbage collection is increased or decreased depending on the amount of metadata used. The default size depends on the platform.