Tomcat基础

beloveddarling 2011-02-24

1、上传文件时,发生OutOfMemoryError错误,文件大小是135M,从网上查到,jvm虚拟机的默认Heap大小是64M,可能就是因为这个原因出错。

Tomcat基础

解决办法:

a.Linux下,在$TOMCAT_HOME/bin/catalina.sh文件中,在

#   JAVA_OPTS       (Optional) Java runtime options used when the "start",#                   "stop", or "run" command is executed.

下加入一行:

    export JAVA_OPTS="-server -Xms512m -Xmx1024m"

问题解决(测试通过)。

b.Windows下,修改%Tomcat_Home/bin/catalina.bat文件,在

    rem Guess CATALINA_HOME if not defined

下加入:

    set JAVA_OPTS=-Xms64m -Xmx256m

不过修改之后,问题还是存在,不知道是什么原因,以后再研究吧。

PS.有关此问题的相关知识:

   Heap size

JVM堆的设置是指java程序运行过程中JVM可以调配使用的内存空间的设置.JVM在启动的时候会自动设置Heapsize的值,

其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)是物理内存的1/4。可以利用JVM提供的-Xmn-Xms-Xmx等选项可

进行设置。Heapsize的大小是YoungGeneration和TenuredGeneraion之和。

提示:在JVM中如果98%的时间是用于GC且可用的Heapsize不足2%的时候将抛出此异常信息。

提示:Heap Size 最大不要超过可用物理内存的80%,一般的要将-Xms和-Xmx选项设置为相同,而-Xmn为1/4的-Xmx值。

http://blog.csdn.net/jxzxm1_2/archive/2008/05/31/2499751.aspx

相关推荐