WCC server just going idle not responding

Document ID : KB000016504
Last Modified Date : 14/02/2018
Show Technical Document Details
Introduction:

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

 

 

 

 

Question:

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?

 

Environment:
Wcc 11.4
Answer:

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): 

 

http://docs.oracle.com/javase/8/docs/technotes/tools/windows/java.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.