tomca内存溢出解决方案

 

1.   Tomcatwindows上内存溢出
 

修改Tomcat目录中bin目录下的catalina.bat文件,在开始处加入:

 

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

 

 

 

通过这句话来调整jvm的配置。下面具体介绍下参数的含义:

 

  -Xms               设置jvm初始化堆内存大小。

  -Xmx               设置jvm最大的堆内存大小。

  -XX:PermSize     设置非堆内存初始值。(默认是物理内存的1/64)

  -XX:MaxPermSize  设置最大非堆内存大小。(默认是物理内存的1/4)

 

 

 

 

 

 

 

举个例子,如果服务器物理内存为4GB,那么默认的PermSize就是64MBMaxPermSize就是1024MB

 

我们经常遇到的内存溢出总的可以分为两种:

 

?  堆溢出             OutOfMemoryError:Heap space

需要调整 –Xms-Xmx的大小。

?  永久保存区域溢出   OutOfMemoryError:PermGen space

需要调整permsizeMaxPermSize的大小。

我们可以通过Jconsole来监测目前的JVM参数设置。

2.   Tomcateclipse上内存溢出

我们在catalina.bat中配置tomcat后,通过tomcat bin目录的startup.bat启动tomcat可以解决内存溢出,但是如果通过MyEclipse启动tomcat仍会出现内存溢出的问题,这个时候我们需要配置下Myeclipse

打开window->preferences->tomcat->jdk。在Optional java VM arguments中设置JVM

 

-Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m

 

 

 

 

3.   Tomcatlinux上内存溢出

 

JAVA_OPTS='-Xms1024m -Xmx1024m -XX:PermSize=256M -XX:MaxNewSize=512m -XX:MaxPermSize=512m'

 

catalina.sh中加入下面的配置,注意和windows上不一样。

 

 

 

你可能感兴趣的:(tomcat,内存溢出)