java.lang.OutOfMemoryError: PermGen space问题解决

                       常见的问题PermGen space总结

 

在启动tomcat或者启动tomcat后,访问tomcat里的web项目,会报这样的错误

Exception in thread "http-bio-8080-exec-1" java.lang.OutOfMemoryError: PermGen s
pace
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:14
2)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
        at org.apache.catalina.connector.Response.setConnector(Response.java:152
)

 

查了网上的资料,自己在windows 64位环境下,测试了一下

有两种解决办法:

修改catalina.bat

1、在“echo "Using CATALINA_BASE: $CATALINA_BASE"”上面加入以下行:
set JAVA_OPTS=%JAVA_OPTS% -server -XX:PermSize=128m -XX:MaxPermSize=512m

 

2、在“echo "Using CATALINA_BASE: $CATALINA_BASE"”上面加入以下行:

set JAVA_OPTS=-server -XX:PermSize=128M -XX:MaxPermSize=512m

 

结果是可以的

 

在linux环境下,没有出现过这样的问题,现在先把从网上找的资料贴进来,下次碰到这样的问题时,再实验

方法和windows里的一样,只是需要改catalina.sh文件

 

1、在“echo "Using CATALINA_BASE: $CATALINA_BASE"”上面加入以下行:
set JAVA_OPTS=%JAVA_OPTS% -server -XX:PermSize=128m -XX:MaxPermSize=512m

 

2、在“echo "Using CATALINA_BASE: $CATALINA_BASE"”上面加入以下行:

set JAVA_OPTS=-server -XX:PermSize=128M -XX:MaxPermSize=512m

 

你可能感兴趣的:(java.lang.OutOfMemoryError: PermGen space问题解决)