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

Denees picture Denees · Jun 8, 2012 · Viewed 25.4k times · Source

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?

Answer

Jaanus picture Jaanus · Jun 8, 2012

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...