java.lang.OutOfMemoryError: PermGen space in Clarity logs

Discussion created by Nika_Hadzhikidi Employee on Jun 11, 2013
Latest reply on Jun 26, 2013 by another_martink
Having errors 500 or 503 while connecting and browsing Clarity application, when checking the logs we can see the following error message on any action:

ERROR 2013-05-17 08:35:00,639 [http-8080-2] union.service
rollback exception
java.lang.OutOfMemoryError: PermGen space

The cause for this error is the fact that the PermGen memory was not enough for the current application usage. This can make the application running out of memory on certain portlets.

Please note that there is no specific user/action that is triggering this.
PermGen memory is used by the JVM to hold loaded classes. Java heap memory is used to hold dynamically allocated memory.
When a single user and action is responsible, then it is the heap memory that is impacted, a totally different error message is thrown (java.lang.OutOfMemoryError: Java heap space).
In this specific case (java.lang.OutOfMemoryError: PermGen ) the user or the users that were connected to the servers with this action are not relevant.


Increase the MaxPermSize JVM parameter in properties.xml file in $CLARITY_HOME/config or in NSA - Server - Application

The parameter will look like this, for example :
jvmParameters="-Xms6144m -Xmx6144m -XX: MaxPermSize=128m "
Please increase MaxPermSize to a higher binary number, i.e. 192, 256 etc. It will look like this:
jvmParameters="-Xms6144m -Xmx6144m -XX: MaxPermSize=192m "
Save, and restart all services.

This will resolve the issue, and the errors will no longer appear in UI.

Please note that the default amount will depend on the exact Clarity version. The default for Clarity 12.1 - 13.0 will be MaxPermSize=128m, and starting from Clarity PPM 13.1, it will be MaxPermSize=256m. This information will be available in the corresponding Installation Guide for the exact version.