Dealing with “java.lang.OutOfMemoryError: PermGen space” error

Total Post:110

 1036  View(s)
Rate this:
Recently I ran into this error in my web application:

java.lang.OutOfMemoryError: PermGen space
It's a typical Hibernate/JPA + IceFaces/JSF application running on Tomcat 6 and JDK 1.6.

Apparently this can occur after redeploying an application a few times.
  1. Post:397

    Re: Dealing with “java.lang.OutOfMemoryError: PermGen space” error

    The solution was to add these flags to JVM command line when Tomcat is started:

    -XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled
    You can do that by shutting down the tomcat service, then going into the Tomcat/bin directory and running tomcat6w.exe. Under the "Java" tab, add the arguments to the "Java Options" box. Click "OK" and then restart the service.

    If you get an error the specified service does not exist as an installed service you should run:

    tomcat6w //ES//servicename
    where servicename is the name of the server as viewed in services.msc