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