最近在做毕设时,出现了这样一个问题,MyEclipse重新部署项目到Tomcat上时,总是报这样一个错误:
Exception in thread "ContainerBackgroundProcessor[StandardEngine[Catalina]]";
java.lang.OutOfMemoryError:PermGen space
在网上查找资料发现,这是MyEclipse内存不够的原因。
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)那么就会产生此错误信息了。
网上大多数资料的解决方法基本上都是修改TOMCAT_HOME/bin/catalina.bat文件的内容,具体修改方法下文会给出。很多人可能会发现,修改过catalina.bat文件的内容,但是依旧会出现内存溢出这样的错误。这是因为修改这个文件只有在用批处理程序启动Tomcat服务器时才有效,如果启动Tomcat是通过MyEclipse启动服务器的话,需要在MyEclipse里面同样设置内存大小。
解决方法:
一、手动设置MaxPermSize大小修改TOMCAT_HOME/bin/catalina.bat(windows系统)或者catalina.sh(unix系统)在“echo "Using CATALINA_BASE: $CATALINA_BASE"”上面加入以下行:set JAVA_OPTS=%JAVA_OPTS% -server -XX:PermSize=256M -XX:MaxPermSize=512m
二、如果启动Tomcat的时候是通过MyEclipse启动服务器的话,需要在MyEclipse里面同样设置内存大小
这个问题令我懊恼了不少时间,起初在百度查找相关资料时,只是搜索关键字错误信息,发现很多文章提供的解决方法不够全面都不能解决,后面在错误信息前加上MyEclipse时(搜索关键字:MyEclipse Caused by: java.lang.OutOfMemoryError: PermGen space)终于找到了可行的解决方案,这应该也算是一个查找资料的小技巧吧。
相关推荐
java.lang.OutOfMemoryError: PermGen space及其解决方法,解决项目太大tomcat内存溢出
Myeclipse下java.lang.OutOfMemoryError Java heap space的解决
解决方法 后面我把原先tomcat启动环境用的jdk1.7改为了本机安装的jdk1.8就不在报错。 具体过程: 在myeclipse中点击window→preference→在搜索框中输入Tomcat→选择安装的tomcat版本,我这里是选择Tomcat 7.x→点击...
JavaMail的java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream错误 原因: MyEclipse6.5的javaee.jar中的mail包与JavaMail包有冲突。 解决: 在MyEclipse目录下(D:\Program Files\MyEclipse ...
MyEclipse axis2 wsdl java.lang.reflect.invocationtargetexception code gen 大家要注意一定要仔细,这个问题基本上缺少包引起的,而且一定要clean 如果需要axis2插件 以及这个plugins中的包在我的其他资源里面有
MyEclipse+SSH错误:java.lang.NoClassDefFoundError orgobjectwebasmCodeVisitor解决.rar
实用开发工具Myeclipse,在启动tomcat时,不间断的会弹出 An internal error occurred during: "Calculating completion proposals...". java.lang.NullPointerException的错误对话框!
解决方法二:在myeclipse中,window-preferences-servers-resin-resin 3.x- optional program arguments添加:-Djava.library.path=D:\oracle\product\10.2.0\client_1\BIN 解决方法三:右击项目-...
MyEclipse.6.Java.开发中文教程 MyEclipse.6.Java.开发中文教程 MyEclipse.6.Java.开发中文教程
Type 异常报告 消息 Failed to convert ... nested exception is java.lang.IllegalStateException: Cannot convert value of type 'java.lang.String' to required type 'java.util.Date': no matching editors or co
MyEclipse连接MySQL的方法.docx MyEclipse连接MySQL的方法.docx MyEclipse连接MySQL的方法.docx MyEclipse连接MySQL的方法.docx MyEclipse连接MySQL的方法.docx MyEclipse连接MySQL的方法.docx MyEclipse连接MySQL的...
主要介绍了java.lang.NoClassDefFoundError错误解决办法的相关资料,需要的朋友可以参考下
MyEclipse.6.Java.开发中文教程第15章代码
MyEclipse.6.Java.开发中文教程--全 最全的版本 从第一章到第十八章还有全部代码 因为文件大小,所以只能分三个部分上传,请下载完全后解压缩 名为:MyEclipse.6.Java.开发中文教程--全.part1 MyEclipse.6.Java.开发...
该开发包是解决 JavaMail 发送邮件报错:java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream错误 ava.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream 使用方法: 将javaee.jar ...
OutOfMemoryError的8种经典案例,Java heap space、GC overhead limit exceeded、Permgen space、Metaspace、Unable to create new native thread、Out of swap space?、Requested array size exceeds VM limit、...
MyEclipse6.0下axis2插件的安装! 解决java.lang.reflect.InvocationTargetException本人亲自测试,完美使用!
使用都很正常,但是每次启动Myeclipse的时候都会报一个错误java.lang.NullPointerException,虽然不影响开发,但是每次启动都报一个错误,看起来就是非常的不爽,对于完美主义者来说只要是bug就一定要解决的,嘿嘿... ...
MyEclipse-2021.5.24a.rar