最近使用eclipse +tomcat 开发的时候,tomcat启动的情况下,修改Velocity的vm 文件时,总会报错误,导致tomcat自动关闭
错误如下
Exception in thread "Timer-0" java.lang.OutOfMemoryError: PermGen space
第一反应就是检查tomcat jvm 配置情况,然后加大内存。
但是并没有解决问题。
在csdn上看fengyie007转发的java.lang.OutOfMemoryError: PermGen space及其解决方法讲的很明白 也给了解决办法。
PermGen space的全称是Permanent Generation
space,是指内存的永久保存区域OutOfMemoryError: PermGen
space从表面上看就是内存益出,解决方法也一定是加大内存。说说为什么会内存益出:这一部分用于存放Class和Meta的信息,Class在被
Load的时候被放入PermGen space区域,它和和存放Instance的Heap区域不同,GC(Garbage
Collection)不会在主程序运行期对PermGen
space进行清理,所以如果你的APP会LOAD很多CLASS的话,就很可能出现PermGen
space错误。这种错误常见在web服务器对JSP进行pre compile的时候。改正方法:-Xms256m -Xmx256m
-XX:MaxNewSize=256m -XX:MaxPermSize=256m
详细细节请参考java.lang.OutOfMemoryError: PermGen space及其解决方法
其实就是模板语言不够优化。加上jvm 配置没有针对其进行优化。上述给出的解决办法需要参考自己实际情况进行修改。
之前使用freemaker 和 httl 的时候就很少报这种错误
本文探讨了在Eclipse+Tomcat环境下修改Velocity模板文件时遇到的PermGenSpace错误现象及原因,并提供了相应的解决方案。

被折叠的 条评论
为什么被折叠?



