目录

简介

先决条件

要求

使用的组件

背景信息

问题

解决方案

简介

本文档介绍如何将Java虚拟机(JVM)标志添加到CloudCenter Manager(CCM)中的JAVA_OPTS中。

先决条件

要求

Cisco 建议您了解以下主题：

- Linux界面

- 虚拟机环境

- CCM组件

使用的组件

本文档中的信息基于以下软件版本：

- CloudCenter版本4.x

- CCM设备

背景信息

有时，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