Tomcat内存溢出情况的处理方案

问题描述:Exception in thread ""http-bio-8080"-exec-1" java.lang.OutOfMemoryError: PermGen space
Exception in thread "Druid-ConnectionPool-Destory" java.lang.OutOfMemoryError: PermGen space
at java.util.IdentityHashMap.keySet(IdentityHashMap.java:935)
at com.alibaba.druid.pool.DruidDataSource.removeAbandoned(DruidDataSource.java:1312)
at com.alibaba.druid.pool.DruidDataSource$DestroyConnectionThread.run(DruidDataSource.java:1294)
Exception in thread "ContainerBackgroundProcessor[StandardEngine[Catalina]]" java.lang.OutOfMemoryError: PermGen space

解决方案:

一、单纯部署Tomcat服务器:

(1)打开tomcat所在的bin目录,找到catalina.bat,并修改:(如D:\Program Files\apache-tomcat-7.0.57\bin\catalina.bat)
(2)在“echo Using CATALINA_BASE: $CATALINA_BASE”上面加入以下行: 

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

二、Eclipse中修改(同样在Eclipse中也可以采用上述方案):

(1)找到eclipse中的server栏目,然后双击tomcat,打开tomcat的配置文件

(2)点击General Information栏目下的Open launch configuration
Tomcat内存溢出情况的处理方案

(3)找到Arguments选项卡,在VM arguments下的输入项末尾追加这句话:-Xms128m -Xmx1024m -XX:MaxPermSize=512m

Tomcat内存溢出情况的处理方案