这篇文章将为大家详细讲解有关如何解决Eclipse Tomcat OutOfMemoryError:PermGen space的问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
创新互联建站主要从事网站设计、成都网站设计、网页设计、企业做网站、公司建网站等业务。立足成都服务察雅,10多年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:028-86922220
PermGen space
的全称是Permanent Generation space,是指内存的永久保存区域OutOfMemoryError: PermGen space
。从文字上看就是内存溢出,解决方法是加大内存。为什么会内存溢出,这是由于这块内存主要是被JVM
存放Class
和Meta
信息的,Class在被Load
的时候被放入PermGen space
区域,它和存放Instance
的Heap
区域不同,GC
(Garbage Collection)不会在主程序运行期对PermGen space
进行清理,所以如果你的APP会LOAD很多CLASS的话,就很可能出现PermGen space错误。这种错误常见在web服务器对JSP进行pre compile的时候。如果你的WEB APP下都用了大量的第三方jar, 其大小超过了jvm默认的大小(4M)那么就会产生此错误信息了。
问题背景:
Tomcat
启动了太多的项目,或者有的项目引用了太多的jar
包,或者反射生成了太多的类,异或有太多的常量池,就有可能会报java.lang.OutOfMemoryError: PermGen space
的错误,我们知道可以通过jvm
参数 -XX:MaxPermSize=256m
来配置这部分堆内存的大小。
在eclipse
中如何配置tomcat
的内存大小呢?
手动设置MaxPermSize大小
首先需要双击tomcat server
,如下图所示:
双击上图后会出现,tomcat
配置的界面:
然后再点击上图的,红色矩形框的链接,会弹出tomcat
参数配置的节面,要选择Arguments
参数框:
如上图在VM arguments
文本框内设置 -XX:MaxPermSize=256m
的值即可, 当然此处还可以添加其他jvm
参数,比如最大内存,最小内存等。
关于“如何解决Eclipse Tomcat OutOfMemoryError:PermGen space的问题”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。