簡介
本文檔介紹如何將Java虛擬機器(JVM)標誌新增到CloudCenter Manager(CCM)中的JAVA_OPTS。
必要條件
需求
思科建議您瞭解以下主題:
採用元件
本檔案中的資訊是根據以下軟體版本:
背景資訊
有時,TOMCAT進程停止響應並停止正常工作,但沒有資訊說明TOMCAT停止響應的原因。
問題
使用者無法登入到CloudCenter,而登入到CloudCenter的使用者會看到CCM使用者介面(UI)無響應。此問題可能會觸發,因為TOMCAT服務未運行且已停止工作。然後,CCM預設日誌不會顯示有關TOMCAT服務停止工作原因的任何詳細資訊或原因。
解決方案
為了在TOMCAT服務停止運行之前收集其他資訊,需要將JVM標誌新增到/usr/local/tomcat/bin/setenv.sh中的JAVA_OPTS。這些引數可幫助您收集JAVA進程的堆啞資料和JAVA進程的垃圾回收統計資訊。然後,當TOMCAT進程變得無響應時,它會生成/usr/local/tomcat/logs/ccm.bin和/usr/local/tomcat/logs/ccm-gc.log。
步驟1.在/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
步驟2.導覽至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
步驟3.重新啟動CCM TOMCAT進程。
/etc/init.d/tomcat restart
步驟4.重新啟動後,執行命令ps -ef | grep tomcat,以確認TOMCAT進程使用新增到/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
這些新引數可幫助您建立在TOMCAT進程再次無響應時可以收集的其他檔案:
- JAVA進程的堆轉儲 — /usr/local/tomcat/logs/ccm.bin
- JAVA進程的垃圾收集統計資訊 — /usr/local/tomcat/logs/ccm-gc.log