We added a very large amount of ram to our OneClick servers (128gb) and we noticed that when we try to allocate 32gb or more ram to the OneClick Webserver, we are receiving very bad OneClick performance with Java CPU at 100%
Release : 10.4.x
Component : Spectrum OneClick
Java Garbage Collection does not scale with large amounts of memory allocated which causes high Java CPU
In the $SPECROOT/tomcat/bin backup the catalina.sh file and then make the following changes to the JAVA_OPTS parameters as shown below will allocate 32G of ram and use a more efficient Garbage Collection for large amounts of memory.
JAVA_OPTS="-DOneClick -server -Xms32G -Xmx32G -XX:+UseG1GC -XX:MaxGCPauseMillis=800 -Xloggc:gc.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:G1HeapRegionSize=16M -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M -XX:+HeapDumpOnOutOfMemoryError -Djava.awt.headless=true -Djavax.net.ssl.trustStore=$SPECROOT/custom/keystore/cacerts -Dfile.encoding=UTF-8 -Dcom.sun.management.jmxremote -Dorg.apache.coyote.USE_CUSTOM_STATUS_MSG_IN_HEADER=true -Drestful.subscription.ThreadPoolSize=1 -verbose:gc -XX:+PrintTenuringDistribution -XX:+PrintHeapAtGC"
These changes will be included in Spectrum 10.5 out of the box.