المقدمة
يوضح هذا المستند كيفية إضافة علامات 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