Search code examples
javamavennetbeanspermgen

Maven "Exception in thread "http-bio-8080-exec-32" java.lang.OutOfMemoryError: PermGen space"


I made a project in NetBeans under Ubuntu 11.10 with Struts2 + Spring and Hibernate frameworks. The first run is ok, but when I run it for the second or third time I keep getting this exception. Without Maven all goes well. I installed maven with apt-get install, and yes I added this line export MAVEN_OPTS=-Xmx512m in usr/bin/mvn, but without luck. How to get a better performance from it?


Solution

  • You should add this line:

    export MAVEN_OPTS="-Xmx512M -XX:MaxPermSize=512M" 
    

    Note that some users have reported that the double quotes give problems, hence you might want to use:

    export MAVEN_OPTS=-Xmx512M -XX:MaxPermSize=512M 
    

    EDIT:

    Since you are using Tomcat, use this:

    1. Open up tomcat/bin/catalina.sh
    2. add this line to the JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms512m -Xmx1024m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m -XX:+DisableExplicitGC"
    3. Save and exit , restart Tomcat

    More information here...