interned strings should be reachable to stay alive during GC (just like any other objects). PermGen size been set adaptivelly, so if you run of out of memory your heap is full. Increase heap size or explore your app with any profiler to find reachable, but unusefull instances.
The jmap -permstat option has been updated in mustang (Java SE 6.0) to print out the number of interned strings and the sizes (in bytes). It might be useful if you are willing to try it out (https://mustang.dev.java.net/).
Re: Diagnosing java.lang.OutOfMemoryError: PermGen space
Apr 20, 2006 3:09 AM
(reply 6
of 8) (In reply to
#5 )
How can i set the PermGen size so that this problem is rectified. In which file this parameter is to be set and what value should be assigned to PermGen to solve this problem.Thanks
Re: Diagnosing java.lang.OutOfMemoryError: PermGen space
Jun 23, 2006 8:37 AM
(reply 7
of 8) (In reply to
#6 )
Generally speaking, if you are experiencing this error, tweaking your memory allocation (adjusting your PermGen size) will only alter the frequency with which you encounter the issue.
You can read more about the PermGen error and possible solutions here: http://jroller.com/page/agileanswers/20060623
Re: Diagnosing java.lang.OutOfMemoryError: PermGen space
Aug 8, 2007 2:36 AM
(reply 8
of 8) (In reply to
#7 )
Hi All,
We just to add few things before i go into deep as to what is the root cause that might cause Out Of Memory due to Permanant Generation.
Well recently i had faced this issue in one of the biggest application used in UK.I faced this issue and the resoultion for this took to almost 3 months.Now the issue is resolved.The reason for this was in the application itself.
Well to diagnose this, please add the following parameter into the JVM Options of the instance you are using it.DON'T use parallelGC.
After this JVM options are added, restart you instance and then check the server.log file.You will see lots of classes.Please do a analysis of this classes.You will observe that some of the classes keeps on growing even after the FULLGC is done.It means that there is some problem you need to check either at the application layer as to which classes are creating this problem.Normally classes or sometimes API's being used by the application can caused PermGen issue.
Well String.intern method normally being used by XML api's .
Please drop me a mail for any further information you require.My id is