您的位置:首页 > 编程语言 > Java开发

Eclipse做web开发,报错:java.lang.OutOfMemoryError: PermGen space

2014-01-15 16:33 357 查看
用maven做开发,由于项目较多,项目启动完毕一打开页面就报错:Exception in thread "http-bio-8080-exec-10" java.lang.OutOfMemoryError: PermGen space。

用google百度后知道是一下原因:

PermGen space的全称是Permanent Generation space,是指内存的永久保存区域,这块内存主要是被JVM存放Class和Meta信息的,Class在被Loader时就会被放到PermGen space中,它和存放类实例(Instance)的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对PermGen space进行清理,所以如果你的应用中有很CLASS的话,就很可能出现PermGen
space错误,这种错误常见在web服务器对JSP进行pre compile的时候。如果你的WEB APP下都用了大量的第三方jar, 其大小超过了jvm默认的大小(4M)那么就会产生此错误信息了。

大概意思就是内存的原因,可我用的这货是8G内存 啊,找了一下资料,有的说要改tomcat的catalina文件,试着改了也没用,后来想着这tomcat可是在eclipse里运行 的啊 。是不是在工具里有配置了,后来终于发现在eclipse的 ,Run Configurations里的Arguments选项卡有个VM arguments,把之前google到的一段配置:-Xms256m
-Xmx256m -XX:MaxNewSize=256m -XX:MaxPermSize=256m ,加在最后,然后保存,启动就不会在出现这个问题了,可以根据实际情况把数字改大或改小,不过Xms这个好像不能比后面的数字大,具体情况后续在研究。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐