Friday, May 4, 2007

Did you ever encounter a java.lang.OutOfMemoryError: PermGen

Did you ever encounter a java.lang.OutOfMemoryError: PermGen space error when you redeployed your application to an application server?

What is PermGen space anyways? The memory in the Virtual Machine is divided into a number of regions. One of these regions is PermGen. It's an area of memory that is used to (among other things) load class files. The size of this memory region is fixed, i.e. it does not change when the VM is running.

You can specify the size of this region with a commandline switch: -XX:MaxPermSize . The default is 64 Mb on the Sun VMs.

Check interesting link : http://blogs.sun.com/fkieviet/entry/classloader_leaks_the_dreaded_java

No comments: