المحتويات

المقدمة

المتطلبات الأساسية

المتطلبات

المكونات المستخدمة

معلومات أساسية

المشكلة

الحل

المقدمة

يوضح هذا المستند كيفية إضافة علامات Java Virtual Machine (JVM) إلى JAVA_OPTS في مدير CloudCenter (CCM).

المتطلبات الأساسية

المتطلبات

توصي Cisco بأن تكون لديك معرفة بالمواضيع التالية:

- واجهة Linux

- بيئة الجهاز الظاهري

- مكون CCM

المكونات المستخدمة

تستند المعلومات الواردة في هذا المستند إلى إصدارات البرامج التالية:

- CloudCenter، الإصدار 4.x

- جهاز CCM

معلومات أساسية

في بعض الأحيان، لا تستجيب عملية TOMCAT وتتوقف لتعمل بشكل صحيح ولكن لا توجد معلومات تشير إلى سبب عدم إستجابة TOMCAT.

المشكلة

يتعذر على المستخدمين تسجيل الدخول إلى CloudCenter ويرى المستخدمون الذين قاموا بتسجيل الدخول إلى CloudCenter واجهة مستخدم CCM (UI) غير مستجيبة. يمكن تشغيل هذه المشكلة لأن خدمة TOMCAT لا تعمل وقد توقفت عن العمل. بعد ذلك، لا تظهر السجلات الافتراضية ل CCM أي تفاصيل أو السبب وراء توقف خدمة TOMCAT عن العمل.

الحل

من أجل تجميع معلومات إضافية قبل توقف خدمة TOMCAT للتشغيل، يجب إضافة علامات JVM إلى JAVA_OPTS الموجودة في /usr/local/tomcat/bin/setenv.sh. تساعدك هذه المعلمة في تجميع كومة الذاكرة المؤقتة لعملية Java وإحصائيات جمع البيانات المهملة لعملية Java. بعد ذلك، عندما تصبح عملية تومكت غير متجاوبة، فإنها تولد /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

- إحصائيات جمع القمامة لعملية جافا - /usr/local/tomcat/logs/ccm-gc.log