1

I am getting out of memory error,how to resolve?what is mean by Permgen space area? What is causing it?

What is solution for it?

java.lang.OutOfMemoryError: PermGen space
    java.lang.ClassLoader.defineClass1(Native Method)
    java.lang.ClassLoader.defineClassCond(Unknown Source)
    java.lang.ClassLoader.defineClass(Unknown Source)
    java.security.SecureClassLoader.defineClass(Unknown Source)
    org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1814)
    org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:872)
    org.jboss.web.tomcat.service.WebAppClassLoader.findClass(WebAppClassLoader.java:75)
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1325)
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204)
    com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:289)
    java.sql.DriverManager.getConnection(Unknown Source)
    java.sql.DriverManager.getConnection(Unknown Source)

1 Answers1

1

PermGen is an area of memory where are stored information related to classes.

If your classloader can't unload a class definition when necessary you can have an OutOfMemoryError related to PermGen.

You can solve this error increasing the quantity of memory dedicated to the permgen the parameter -XX:MaxPermSize=512m

The MaxPermSize parameter is used by the JVM to manually define the size of memory for the PermGen area. You can pass that parameter to any java application (for example as a parameter launching your tomcat).

Davide Lorenzo MARINO
  • 26,420
  • 4
  • 39
  • 56