Sommario

Introduzione

Prerequisiti

Requisiti

Componenti usati

Premesse

Problema

Soluzione

Introduzione

In questo documento viene descritto come aggiungere flag Java Virtual Machine (JVM) a JAVA_OPTS in CloudCenter Manager (CCM).

Prerequisiti

Requisiti

Cisco raccomanda la conoscenza dei seguenti argomenti:

- Interfaccia Linux

- Ambiente macchina virtuale

- componente CCM

Componenti usati

Le informazioni di questo documento si basano sulle seguenti versioni software:

- CloudCenter versione 4.x

- accessorio CCM

Premesse

In alcuni casi, il processo TOMCAT non risponde e si arresta per funzionare correttamente, ma non sono disponibili informazioni che indichino il motivo per cui TOMCAT non ha risposto.

Problema

Gli utenti non sono in grado di accedere a CloudCenter e gli utenti che hanno effettuato l'accesso a CloudCenter vedono l'interfaccia utente di CCM che non risponde. Questo problema può essere attivato perché il servizio TOMCAT non viene eseguito ed è stato interrotto. Nei registri predefiniti di CCM non vengono quindi visualizzati dettagli o il motivo per cui il servizio TOMCAT ha smesso di funzionare.

Soluzione

Per raccogliere ulteriori informazioni prima dell'interruzione dell'esecuzione del servizio TOMCAT, è necessario aggiungere i flag JVM a JAVA_OPTS che si trova nella directory /usr/local/tomcat/bin/setenv.sh. Questi parametri consentono di raccogliere l'heap dumb del processo JAVA e le statistiche di Garbage Collection del processo JAVA. Quindi, quando il processo TOMCAT non risponde, genera /usr/local/tomcat/logs/ccm.bin e /usr/local/tomcat/logs/ccm-gc.log.

Passaggio 1. Aggiungere questi parametri nella directory /usr/local/tomcat/bin/setenv.sh.

-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/usr/local/tomcat/logs/ccm.bin -verbose:gc -XX:+PrintGCDetails

-XX:+PrintGCDateStamps -Xloggc:/usr/local/tomcat/logs/ccm-gc.log

Passaggio 2. Passare a CCM > /usr/local/tomcat/bin/setenv.sh

[root@ccm bin]# cat /usr/local/tomcat/bin/setenv.sh

export LD_LIBRARY_PATH=/usr/local/apr/lib

export CATALINA_PID=$CATALINA_HOME/catalina.pid

export JPDA_ADDRESS=8000

export JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms1024m -Xmx2048m -XX:NewSize=512m

-XX:MaxNewSize=512m -XX:PermSize=512m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError

-XX:HeapDumpPath=/usr/local/tomcat/logs/ccm.bin -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps

-Xloggc:/usr/local/tomcat/logs/ccm-gc.log -Dhttp.proxyHost=rcdn-calo-proxy.cisco.com -Dhttp.proxyPort=3128

-Dhttp.nonProxyHosts=10.201.210.1"

export CLASSPATH=/usr/local/osmosix/etc

export CATALINA_OUT=/dev/null

Passaggio 3. Riavviare il processo CCM TOMCAT.

/etc/init.d/tomcat restart

Passaggio 4. Dopo il riavvio, eseguire il comando ps -ef | grep tomcat per confermare che il processo TOMCAT utilizza i nuovi parametri aggiunti al /usr/local/tomcat/bin/setenv.sh.

[root@ ccm ~]# ps -ef | grep tomcat

cliqrus+ 18683     1 99 16:46 ?        00:00:27 /usr/lib/jvm/java-8-sun/bin/java

-Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties

-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.awt.headless=true -Dfile.encoding=UTF-8

-server -Xms1024m -Xmx2048m -XX:NewSize=512m -XX:MaxNewSize=512m -XX:PermSize=512m -XX:MaxPermSize=512m

-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/usr/local/tomcat/logs/ccm.bin -verbose:gc -XX:+PrintGCDetails

-XX:+PrintGCDateStamps -Xloggc:/usr/local/tomcat/logs/ccm-gc.log -Dhttp.proxyHost=rcdn-calo-proxy.cisco.com

-Dhttp.proxyPort=3128 -Dhttp.nonProxyHosts=10.201.210.1 -Djava.endorsed.dirs=/usr/local/tomcat/endorsed

-classpath /usr/local/osmosix/etc:/usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar

-Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp

org.apache.catalina.startup.Bootstrap start

root     18765 17947  0 16:47 pts/1    00:00:00 grep --color=auto tomcat

Questi nuovi parametri consentono di creare file aggiuntivi che possono essere raccolti quando il processo TOMCAT non risponde più:

- Dump heap del processo JAVA - /usr/local/tomcat/logs/ccm.bin

- Statistiche di Garbage Collection del processo JAVA - /usr/local/tomcat/logs/ccm-gc.log