http://jingyan.baidu.com/article/20b68a884d7f72796cec62e3.html
最近使用eclipse做开发,使用的服务器是tomcat,但在启动时报了Caused by: java.lang.OutOfMemoryError: PermGen space的异常。
这个错误很常见,于是配置tomcat下的catalina.bat,配置eclipse.ini,各种方法都用过了,不管用!花了好长时间,在几近崩溃的时候找到了下面的解决办法,终于解决了。
为了不走弯路,我把三种方法都写写,我用的是第三种方法才解决的
Exception in thread "http-bio-8080-Acceptor-0" java.lang.OutOfMemoryError: Java heap space
-
第一种方法:修改tomcat/bin目录下的catalina.bat。
-
在“rem ----- Execute The Requested Command ----------------------”下加入
JAVA_OPTS="-server -Xms800m -Xmx800m -XXNewSize=256M -XX:PermSize=256M -XX:MaxNewSize=512m -XX:MaxPermSize=512m" 。
这种方法在只使用tomcat时管用,但使用eclipse时不管用。
-
第二种方法:修改eclipse.ini。
-
加入
-vm
d:/jdk6/bin/javaw.exe
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms512m
-Xmx1024m
-XX:PermSize=256M
-XX:MaxPermSize=512m
这种方法有时候也管用,但这次不起作用了,具体原因我也不清楚,我猜可能是写了上面这段跟eclipse中启动的tomcat服务器没啥关系,所以解决不了tomcat的报错问题。
-
第三种方法:修改eclipse的Run Configurations。
-
点击“Run”-"Run Configurations",在打开的窗口中点击“Arguments”选项卡。
在VM arguments中内容最下边输入:
-
-Xms256m -Xmx512m -XX:MaxNewSize=256m -XX:MaxPermSize=256m
-
保存后再次重启后已经不再报错了。
就是这个方法完好地解决了我的问题。