Guest

Cisco Unified Customer Voice Portal

Voice XML Server Out of Memory Error Message

Document ID: 116279

Updated: Jul 26, 2013

Contributed by Rajender Kalavala, Cisco TAC Engineer.

   Print

Introduction

This document describes the problem where the Voice XML (VXML) server runs out of memory and reports:

java.lang.OutOfMemoryError: PermGen space

Problem

In some cases, the VXML Server/Tomcat crashes and displays an OutOfMemoryError message.

These snippets are seen in the VXML server application error logs.

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

Solution

When you run Customer Voice Portal (CVP) Version 9.0, make sure that ES11 is installed in order to resolve many security vulnerabilities and issues that can lead to the OutOfMemoryError message. Refer to the Multiple Vulnerabilities in Cisco Unified Customer Voice Portal Software field notice (FN) for more information.

A similar ES to the one referenced in the FN has been released for CVP Version 8.5. Click the hyperlink in order to visit the page where you can download CVP8.5.1_ES24.exe.

Increase Virtual Memory

In many cases, an increase of the virtual memory helps. In order to increase the virtual memory in CVP Versions 8.5 and 9.0, complete these steps:

Windows 2003

  1. Navigate to:
    Start > Run > Regedit
    HKLM\SOFTWARE\Apache Software Foundation\Procrun2.0\VXMLServer\
    Parameters\Java\Options
  2. Add the "-XX:MaxPermSize=256M" registry key in order to increase the Virtual Memory PermSpace.

Windows 2008

  1. Navigate to:
    Start > Run > Regedit
    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun2.0\VXMLServer\
    Parameters\Java\Options
  2. Add the "-XX:MaxPermSize=256M" registry key in order to increase the Virtual Memory PermSpace.

Contact Developer Services

Beyond these fixes, VXML application debugs should be handled by the VXML application developer, because the Cisco Technical Assistance Center has limited resources to analyze the application flow involved. If you have followed the procedure in this document and the source of excessive memory usage cannot be found, contact developer services in order to review the application.

Frequently Asked Questions

What is the best way to monitor VXML application memory consumption?

There are several tools available for this, such as VisualVM, JProfiler, and Yourkit. Any of the profilers that assess VXML applications provide details into which data structures accumulate and do not release memory, which eventually leads to an OutOfMemory condition.

How often is garbage collection kicked off on a (CVP)/VXML server?

When garbage collection runs depends on the system load. A general rule is that a high-load system or a system with a small amount of memory encounters garbage collection often whereas a low-volume system or one with a large amount of memory runs garbage collection less frequently.

How does garbage collection decide what memory to reclaim from the applications?

This is assessed by the Java Virtual Machine (JVM). Any object becomes a candidate for garbage collection once all references to it are discarded.

Updated: Jul 26, 2013
Document ID: 116279