最近Eclipse总是报OutOfMemoryError: PermGen space错误,很郁闷.
网络搜索了一下总结一下自己的经验和网友的经验,希望能够对受此问题折磨的朋友有所参考价值。
解决办法如下:
在eclipse.ini配置文件中加上以下两行
-XX:PermSize=128M
-XX:MaxPermSize=128M
加上上2行后,我的eclipse.ini文件如下所示:
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
512m
-vmargs
-Xms256m
-Xmx512m
-XX:PermSize=128M
-XX:MaxPermSize=128M
这里的内存大小根据自己的物理内存情况来决定吧。
从网上的资料看PermSize大一点肯定更好,而且最好是设置PermSize和MaxPermSize一样大。理由如下:
PermSize 和MaxPermSize如果设置为相同还可以在一定程度上提高性能,因为,PermSize在不断的变化中会需要转移其中的数据。如果固定了以后,则可以减少每次扩大PermSize带来的性能损失。
1、PermGen space简介
PermGen space的全称是Permanent Generation space,是指内存的永久保存区域OutOfMemoryError: PermGen space从表面上看就是内存益出,解决方法也一定是加大内存。
说说为什么会内存益出:
(1)这一部分用于存放Class和Meta的信息,Class在被 Load的时候被放入PermGen space区域,它和和存放Instance的Heap区域不同。
(2) GC(Garbage Collection)不会在主程序运行期对PermGen space进行清理,所以如果你的APP会LOAD很多CLASS的话,就很可能出现PermGen space错误。这种错误常见在web服务器对JSP进行pre compile的时候。
如果你的WEB APP下都用了大量的第三方jar,其大小超过了jvm默认的大小(4M)那么就会产生此错误信息了。
解决方法: 手动设置MaxPermSize大小
修改TOMCAT_HOME/bin/catalina.sh,在echo "Using CATALINA_BASE: $CATALINA_BASE"上面加入以下行:
JAVA_OPTS="-server -XX:PermSize=64M -XX:MaxPermSize=128m
建议:将相同的第三方jar文件移置到tomcat/shared/lib目录下,这样可以减少jar 文档重复占用内存。
分享到:
相关推荐
eclipse运行大点的项目时候经常出现内存溢出,这个文档教大家如何解决这个问题,亲测有效
eclipse内存溢出的解决办法,让用eclipse同志们脱离痛苦。
tomcat_eclipse配置内存溢出,
eclipse tomcat启动,内存溢出问题
Eclipse运行工程内存溢出解决方法,word文档中有很详细的说明
eclipse内配置处理内存溢出
Eclipse + Tomcat 内存溢出参数设置
eclipse内存溢出报错-解决办法
PermGen space从表面上看就是内存益出,解决方法也一定是加大内存。说说为什么会内存益出:这一部分 用于存放Class和Meta的信息,Class在被 Load的时候被放入PermGen space区域,它和和存放Instance的 Heap区域不同...
eclipse开发中,如果导入的jar包过多,很容易出现内存溢出
内存溢出问题Eclipse,当然也可以在Tomcat里面配置这里说了这两种方式!大家可以选择使用,一般在服务器上只有Tomcat所以一般在Tomcat里面配置。
一次使用Eclipse Memory Analyzer分析Tomcat内存溢出.docx
maven构建时发生内存溢出的有很多种情况,比如eclipse-plugin,maven命令时,这里总结了分别怎么解决。
Eclipse的内存优化与内存不足问题 解决内存溢出的办法
解决 在用eclipse的时候,老弹出一个对话框,提示内存不足的问题
粘贴到Tomcat中或Eclipse里用以解决内存溢出问题
简单好用的 内存溢出代码处理,直接粘贴即可使用
eclipse(wtp)内存溢出解决办法 修改配置文件
设置eclipse的运行内存, jvm内存大小设置, 如果启动服务时报内存溢出说明eclipse的运行内存太小 设置下运行内存就可以了
设置完毕后 有效解决卡顿、降低占用内存