eclipse中tomcat内存溢出问题,报PermGen space

  场景  

  最近在eclipse中的tomcat服务器下放三个不同的应用程序,其中两个应用程序用到了各自的第三方jar包。刚开始时把这三个应用程序分别部署到各自的tomcat服务器运行,没问题。后来想通过第一个应用程序A,来分别跳转到应用程序B和应用程序C,于是把三个应用程序都部署到同一个tomcat服务器下。OK,一运行,报 PermGen space 错误。也百度了很多,从前天下午到今天下午,才搞定。太水了。下面先说说PermGen space是什么意思。

  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的时候。 如果你的WEB APP下都用了大量的第三方jar, 其大小 超过了jvm默认的大小( 4M)那么就会产生此错误信息了。

    解决办法:

 1.修改Tomcat\bin\catalina.bat,添加如下内容

  set JAVA_OPTS=%JAVA_OPTS% -server -XX:PermSize=128m -XX:MaxPermSize=512m

eclipse中tomcat内存溢出问题,报PermGen space

  不好意思,我试过了,但是还是报错。纠结,不知道是不是我设置的太小了,但是设置大点还是报错。但这只是对我的项目而言,其也是一种解决办法。

  2.修改eclispse中的tomcat内存大小

  Eclipse->Window->Preferences->Server->Runtime Environments->选中Apache Tomcat v5.0->点击Edit按钮->在弹出对话框里点击JRE后面的Installed JREs按钮->在弹出对话框中选中tomcat使用的那个JRE->点击Edit按钮->在弹出对话框中,找到Default VM Arguments,并在输入框中输入:-Xms512M -Xmx1024M  -XX:MaxPermSize=512m,然后finish->OK->OK。

  不好意思,我试过了,终于好了,大功告成!^_^

     2014-04-17  15:14:07

eclipse中tomcat内存溢出问题,报PermGen space,布布扣,bubuko.com

eclipse中tomcat内存溢出问题,报PermGen space

上一篇:●linux进程的查看与操作●


下一篇:Linux设备驱动中的异步通知与异步I/O