今天帮同学解决他的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
时间: 2024-08-05 23:41:34