Einführung
In diesem Dokument wird das Problem beschrieben, bei dem der VXML-Server (Voice XML) nicht voll ausgelastet ist und folgende Berichte erstellt:
java.lang.OutOfMemoryError: PermGen space
Problem
In einigen Fällen stürzt der VXML-Server/Tomcat ab und zeigt eine OutOfMemoryError-Meldung an.
Diese Ausschnitte werden in den Fehlerprotokollen der VXML-Serveranwendung angezeigt.
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
Lösung
Wenn Sie Customer Voice Portal (CVP) ausführen und eine OutOfMemoryError-Nachricht erhalten, beachten Sie die folgenden Schritte für die Problemumgehung.
Erhöhung des virtuellen Arbeitsspeichers
In vielen Fällen ist eine Erhöhung des virtuellen Speichers hilfreich. Gehen Sie wie folgt vor, um den virtuellen Speicher in CVP Version 8.5 und 9.0 zu erhöhen:
Windows 2003
- Navigieren Sie zu:
Start > Ausführen > Regedit
HKLM\SOFTWARE\Apache Software Foundation\Procrun2.0\VXMLServer\
Parameters\Java\Options
- Fügen Sie den Registrierungsschlüssel "-XX:MaxPermSize=256M" hinzu, um den PermSpace des virtuellen Speichers zu erhöhen.
Windows 2008
- Navigieren Sie zu:
Start > Ausführen > Regedit
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun2.0\VXMLServer\
Parameters\Java\Options
- Fügen Sie den Registrierungsschlüssel "-XX:MaxPermSize=256M" hinzu, um den PermSpace des virtuellen Speichers zu erhöhen.
Weitere Informationen finden Sie im Cisco Unified Customer Voice Portal Software Security Advisory unter Multiple Vulnerabilities.
Developer Services kontaktieren
Neben diesen Korrekturen sollten VXML-Anwendungsdebugs vom Entwickler der VXML-Anwendung behandelt werden, da das Cisco Technical Assistance Center nur über begrenzte Ressourcen für die Analyse des betroffenen Anwendungsflusses verfügt. Wenn Sie die Vorgehensweise in diesem Dokument befolgt haben und die Quelle für die übermäßige Speichernutzung nicht gefunden werden kann, wenden Sie sich an die Entwicklerdienste, um die Anwendung zu überprüfen.
Häufig gestellte Fragen
Wie lässt sich die Speicherbelegung von VXML-Anwendungen am besten überwachen?
Hierfür stehen verschiedene Tools zur Verfügung, z. B. VisualVM, JProfiler und Yourkit. Jeder Profiler, der VXML-Anwendungen bewertet, liefert Details, in welche Datenstrukturen sich ansammeln und keinen Speicher freigeben, was schließlich zu einem OutOfMemory-Zustand führt.
Wie oft wird die Garbage Collection auf einem (CVP)/VXML-Server gestartet?
Die Ausführung der Garbage Collection hängt von der Systemlast ab. Eine allgemeine Regel ist, dass ein System mit hoher Auslastung oder ein System mit einer geringen Speichergröße häufig auf eine Garbage Collection trifft, während ein System mit niedriger oder einer mit großer Speicherkapazität weniger häufig Garbage Collection ausführt.
Wie entscheidet die Garbage Collection, welcher Speicher aus den Anwendungen zurückgewonnen werden soll?
Dies wird von der Java Virtual Machine (JVM) bewertet. Jedes Objekt wird zu einem Kandidaten für die Garbage Collection, sobald alle Verweise darauf verworfen wurden.