المقدمة
يصف هذا المستند المشكلة التي ينفذ فيها خادم Voice XML (VXML) الذاكرة والتقارير:
java.lang.OutOfMemoryError: PermGen space
المشكلة
في بعض الحالات، يتعطل خادم VXML/Tomcat ويعرض رسالة OutOfMemoryError.
رأيت هذا قصاصة في ال VXML نادل تطبيق سجل خطأ.
Exception in thread "Message Buffering Thread Error with admin
application update,xx/xx/2013 xx:xx:xx.xxx, The error was:
There was a problem loading classes local to the application
<application Name>. The root cause was:
java.lang.OutOfMemoryError: PermGen space
com.audium.server.AudiumException: There was a problem loading
classes local to the application <applicationname>
.at com.audium.server.controller.AudiumServerConfiguration.
loadLocalClasses (AudiumServerConfiguration.java:1405)
at com.audium.server.controller.AudiumServerConfiguration.
<init>(AudiumServerConfiguration.java:212)
Caused by: java.lang.OutOfMemoryError: PermGen space
الحل
عند تشغيل "بوابة صوت العميل" (CVP) وقدوم رسالة OutOfMemoryError، ارجع إلى الخطوات التالية لحل المشكلة.
زيادة الذاكرة الظاهرية
وفي العديد من الحالات، تساعد زيادة الذاكرة الافتراضية على ذلك. لزيادة الذاكرة الظاهرية في الإصدارات 8.5 و 9.0 من CVP، أكمل الخطوات التالية:
نظام التشغيل Windows 2003
- انتقل إلى:
ابدأ > تشغيل > تغيير
hklm\software\Apache Software Foundation\Procrun2.0\VXMLServer\
المعاملات\Java\Options
- قم بإضافة مفتاح التسجيل "-xx:MaxPermSize=256M" لزيادة PermSpace للذاكرة الظاهرية.
نظام التشغيل Windows 2008
- انتقل إلى:
ابدأ > تشغيل > تغيير
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun2.0\VXMLServer\
المعاملات\Java\Options
- قم بإضافة مفتاح التسجيل "-xx:MaxPermSize=256M" لزيادة PermSpace للذاكرة الظاهرية.
راجع نقاط الضعف المتعددة في إخطار أمان البرامج عبر Cisco Unified Customer Voice Portal Software للحصول على مزيد من المعلومات.
الاتصال بخدمات المطورين
فيما وراء هذه الإصلاحات، يجب معالجة عمليات تصحيح أخطاء تطبيق VXML بواسطة مطور تطبيق VXML لأن مركز المساعدة التقنية ل Cisco لديه موارد محدودة لتحليل تدفق التطبيق المعني. إذا قمت باتباع الإجراء الوارد في هذا المستند وتعذر العثور على مصدر الاستخدام المفرط للذاكرة، فاتصل بخدمات المطور لمراجعة التطبيق.
الأسئلة المتكررة
ما هي أفضل طريقة لمراقبة إستهلاك ذاكرة تطبيق VXML؟
هناك العديد من الأدوات المتوفرة لهذا الطراز، مثل VisualVM و JpRofiler و YouKit. توفر أي من وحدات التصفية التي تقوم بتقييم تطبيقات VXML تفاصيل عن بنى البيانات التي تتراكم فيها ولا تقوم بإطلاق الذاكرة، مما يؤدي في نهاية المطاف إلى حالة خارج الذاكرة.
كم مرة يتم تشغيل جمع البيانات المهملة على خادم (CVP)/VXML؟
تعتمد عملية جمع القمامة على حمل النظام. هناك قاعدة عامة تتمثل في أن أي نظام عالي التحميل أو أي نظام به قدر صغير من الذاكرة يصادف عملية جمع القمامة في كثير من الأحيان، في حين أن النظام منخفض الحجم أو النظام الذي به قدر كبير من الذاكرة يقوم بعملية جمع القمامة بشكل أقل تواترا.
كيف يقرر جمع القمامة الذاكرة التي سيتم استعادتها من التطبيقات؟
يتم تقييم ذلك بواسطة الجهاز الظاهري Java (JVM). يصبح أي كائن مرشحا لجمع القمامة بمجرد تجاهل كل الإشارات إليه.