VoiceObjects Server runs out of Memory although Heap Space is not exhausted
Symptoms
My VoiceObjects Server instance runs out of memory and does not accept HTTP requests anymore. The SRV_Processing.log contains the following message:
java.lang.OutOfMemoryError: PermGen space
This error occurs although the Java heap space has not completely been allocated.
Resolution
The Sun HotSpot Java Virtual Machine devides the main memory that is used by the Java process into different spaces. The "Permanent Space" is used to store objects in the permanent generation. This contains reflective objects of the JVM itself such as class objects and method objects.
The size of the Permanent Space is independent from the size of the other generations. The default size is 64 MB. Programs that load many classes may need more than 64 MB.
This has especially been observed when you run VoiceObjects Server in application servers like JBoss or BEA WebLogic. If you use VoiceObjects with these application servers, you might need to increase the maximum size of the Permanent Space.
The error message java.lang.OutOfMemoryError: PermGen space
indicates, that the maximum size of the Permanent Space has been exceeded.
To increase the maximum size, use the JVM's -XXMaxPermSize parameter.
Stop your VoiceObjects Server instance and add the following settings to your JVM parameters: -XX:MaxPermSize=128m. This sets the maximum size of the Permanent Space to 128 MB.
Now start your VoiceObjects Server instance again.