修改Tomcat目录中bin目录下的catalina.bat文件,在开始处加入:
|
通过这句话来调整jvm的配置。下面具体介绍下参数的含义:
-Xms 设置jvm初始化堆内存大小。 -Xmx 设置jvm最大的堆内存大小。 -XX:PermSize 设置非堆内存初始值。(默认是物理内存的1/64) -XX:MaxPermSize 设置最大非堆内存大小。(默认是物理内存的1/4) |
举个例子,如果服务器物理内存为4GB,那么默认的PermSize就是64MB,MaxPermSize就是1024MB。
我们经常遇到的内存溢出总的可以分为两种:
? 堆溢出 OutOfMemoryError:Heap space。
需要调整 –Xms和-Xmx的大小。
? 永久保存区域溢出 OutOfMemoryError:PermGen space。
需要调整permsize和MaxPermSize的大小。
我们可以通过Jconsole来监测目前的JVM参数设置。
2. Tomcat在eclipse上内存溢出
我们在catalina.bat中配置tomcat后,通过tomcat bin目录的startup.bat启动tomcat可以解决内存溢出,但是如果通过MyEclipse启动tomcat仍会出现内存溢出的问题,这个时候我们需要配置下Myeclipse。
打开window->preferences->tomcat->jdk。在Optional java VM arguments中设置JVM:
|
3. Tomcat在linux上内存溢出
|
在catalina.sh中加入下面的配置,注意和windows上不一样。