在eclipse中使用tomcat服务器出现java.lang.OutOfMemoryError: PermGen space 内存溢出错误的解决方法

java.lang.OutOfMemoryError: PermGen space 内存溢出错误。在eclipse中使用tomcat服务器,遇到了以下两种内存溢出OutOfMemoryError的情况。

1、有时一些项目之间是有依赖关系的,这时候需要把两个项目放到同一个tomcat中启动,如果启动时根本就启动不起来,直接报内存溢出错误,这就是tomcat的内存不足。
2、当启动一个项目能正常启动,但是做文件导入操作时报内存溢出错误,这时候也是因为tomcat本身内存不足。

当tomcat本身的内存不足时,直接修改tomcat的配置文件是最快的解决方法,其他如修改JVM的配置,修改eclipse的配置,都很有可能没有效果。

这是配置的一些参数含义:

-vmargs -Xms128M -Xmx512M -XX:PermSize=64M
-XX:MaxPermSize=128M
-vmargs 说明后面是VM的参数,所以后面的其实都是JVM的参数了
-Xms128m JVM初始分配的堆内存
-Xmx512m JVM最大允许分配的堆内存,按需分配
-XX:PermSize=64M JVM初始分配的非堆内存
-XX:MaxPermSize=128M JVM最大允许分配的非堆内存,按需分配

如果想更深入的了解,可以看一下这一篇博文:
Xms Xmx PermSize MaxPermSize的含义和eclipse.ini配置不生效的问题

下面就是修改tomcat配置的具体步骤:
1、直接在tomcat server 上点击右键,点击Open。
在eclipse中使用tomcat服务器出现java.lang.OutOfMemoryError: PermGen space 内存溢出错误的解决方法

2、点击 Open launch configuration
在eclipse中使用tomcat服务器出现java.lang.OutOfMemoryError: PermGen space 内存溢出错误的解决方法

3、在arguments栏中的VM arguments框的最后
输入-Xms512m -Xmx1024m -XX:PermSize=512M -XX:MaxPermSize=1024m
(现在电脑内存都很高了,参数设高一点,这样不至于项目略微一大就内存溢出)
在eclipse中使用tomcat服务器出现java.lang.OutOfMemoryError: PermGen space 内存溢出错误的解决方法