The following Java memory usage printed in the ixpDaemon.log periodically. This document explains how to interpret the free/total values.
$ grep -i memory /opt/CA/iXp/log/ixpDaemon.log | tail -5
06-15 18:55:57: main:free/total memory: 2358744k/6191616k*
06-15 18:56:22: main:free/total memory: 3946605k/6185984k
06-15 18:56:47: main:free/total memory: 3815546k/6108160k
06-15 18:57:11: main:free/total memory: 3834018k/6171648k
06-15 18:57:36: main:free/total memory: 3471732k/6028800k
Where is this ~3GB/6GB memory coming from? We have assigned a max heap space of 8GB to the iXp tomcat.
tomcat 31800 1 67 Jun07 ? 5-07:45:47 /usr/lib/jvm/jre-1.8.0/bin/java -Dixp.home=/opt/CA/iXp -Dixp.job_name_prefix_length=17 -Xms1500m -Xmx8000m -Djavax.sql.DataSource.Factory=org.apache.commons.dbcp.BasicDataSourceFactory -Djavax.net.ssl.keyStore=/opt/CA/iXp/contrib/manage.batch.cba.kdb -Djavax.net.ssl.keyStorePassword=changeit -Djavax.net.ssl.keyStoreType=PKCS12 -Djavax.net.ssl.trustStore=/opt/CA/iXp/contrib/manage.batch.cba.kdb -Djavax.net.ssl.trustStoreType=PKCS12 -Djavax.net.ssl.trustStorePassword=changeit -classpath :/usr/share/tomcat6/bin/bootstrap.jar:/usr/share/tomcat6/bin/tomcat-juli.jar:/usr/share/java/commons-daemon.jar -Dcatalina.base=/usr/share/tomcat6 -Dcatalina.home=/usr/share/tomcat6 -Djava.endorsed.dirs= -Djava.io.tmpdir=/var/cache/tomcat6/temp -Djava.util.logging.config.file=/usr/share/tomcat6/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager org.apache.catalina.startup.Bootstrap start
Release : 11.3
Component : CA WORKLOAD AUTOMATION AE IXP
The CA Workload Automation iXp logs the memory utilization by interfacing with the environment through java class "runtime".
The free memory is captured through "getRuntime().freeMemory()" whereas the total memory by "getRuntime().totalMemory()"
freeMemory():
Returns the amount of free memory in the Java Virtual Machine. Calling the gc method may result in increasing the value returned by freeMemory.
totalMemory():
Returns the total amount of memory in the Java virtual machine. The value returned by this method may vary over time, depending on the host environment. Note that the amount of memory required to hold an object of any given type may be implementation-dependent.
Note: The value returned by the totalMemory() is different from the maxMemory() that we set for iXp application (-Xmx). It is not returned by the log periodically.
For more information see Class Runtime:
https://docs.oracle.com/javase/6/docs/api/java/lang/Runtime.html