首页 > 代码库 > 异常处理系列:java.lang.OutOfMemoryError: PermGen space
异常处理系列:java.lang.OutOfMemoryError: PermGen space
今天帮同学解决他的Tomcat启动的问题,报出了一个OutOfMemoryError的异常,然后就搜啊搜的,突然发现特别有趣。
先不扯淡了,先说解决办法:
一看到这个就知道是内存满了。所以要把Tomcat的内存池加大一点。
修改如下:
1. window-->Preferences,然后直接在搜索的那个框里边写上“tomcat”,会出现如下的界面:
2. 选中你安装的tomcat版本,选中下面的JDK,在右边的
Optional Java VM arguments 文本框中输入:
-Xmx256M -Xms256M -XX:MaxPermSize=256m
然后,点击最下边的Apply,然后点击OK
下边扯淡两句吧:
先解释下什么是PermGen space
PermGen space的全称是Permanent Generation space,是指内存的永久保存区域,这一部分用于存放Class和Meta的信息,Class在被 Load的时候被放入PermGen space区域,它和存放Instance的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对PermGen space进行清理,所以如果你的APP会LOAD很多CLASS的话,就很可能出现PermGen space错误。注意红色部分,如果加载的class太多就可能产生这个问题。
异常:java.lang.OutOfMemoryError: PermGen space
所以可能的原因有:
加载了太多的class
加载了太多的jar
重复加载了太多的jar
异常处理系列:java.lang.OutOfMemoryError: PermGen space
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。