在 catalina.bat / sh 里面,增加配置参数就行了 JAVA_OPTS = -Xmx1024m 类似这样的
在catalina.bat的 rem ----- Execute The Requested Command --------------------------------------- echo Using CATALINA_BASE: %CATALINA_BASE% echo Using CATALINA_HOME: %CATALINA_HOME% echo Using CATALINA_TMPDIR: %CATALINA_TMPDIR% echo Using JAVA_HOME: %JAVA_HOME% 这一栏改为 rem ----- Execute The Requested Command --------------------------------------- set JAVA_OPTS=-Xms512m -Xmx512m echo Using CATALINA_BASE: %CATALINA_BASE% echo Using CATALINA_HOME: %CATALINA_HOME% echo Using CATALINA_TMPDIR: %CATALINA_TMPDIR% echo Using JAVA_HOME: %JAVA_HOME% 就可以将JAVA虚拟机分配内存 508.0625MB的!但是很多人修改后,发现修改并没有起作用,即通过windows的服务启动tomcat时,实际的内存还是默认的,修改的设置并没有起作用;而通过\bin\startup.bat 启动却是生效的。这是为什么呢?因为在安装过程中,JVM的初始化参数已经写在注册表中了,由于没有修改注册表中相关参数,所以以windows服务方式启动时,修改的并没有生效。而通过\bin\startup.bat 启动直接是通过\bin\catalina.bat文件中的配置的。你需要重新加载到系统服务中才生效,或者你手工在注册表中查找修改启动值,加载到服务中的时候参数已经配置好了,自己修改artup.bat不会改变注册表中的参数设置。解决方法:修改注册表中的参数,加入JVM初始化内存的参数: HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Tomcat Service Manager\Tomcat5\Parameters\JavaOptions 值为 -Dcatalina.home="C:\ApacheGroup\Tomcat 5.0" -Djava.endorsed.dirs="C:\ApacheGroup\Tomcat 5.0\common\endorsed" -Xrs 如加入 -Xms512m -Xmx800m
rem ----- Execute The Requested Command ---------------------------------------
echo Using CATALINA_BASE: %CATALINA_BASE%
echo Using CATALINA_HOME: %CATALINA_HOME%
echo Using CATALINA_TMPDIR: %CATALINA_TMPDIR%
echo Using JAVA_HOME: %JAVA_HOME%
这一栏改为
rem ----- Execute The Requested Command ---------------------------------------
set JAVA_OPTS=-Xms512m -Xmx512m
echo Using CATALINA_BASE: %CATALINA_BASE%
echo Using CATALINA_HOME: %CATALINA_HOME%
echo Using CATALINA_TMPDIR: %CATALINA_TMPDIR%
echo Using JAVA_HOME: %JAVA_HOME%
就可以将JAVA虚拟机分配内存 508.0625MB的!但是很多人修改后,发现修改并没有起作用,即通过windows的服务启动tomcat时,实际的内存还是默认的,修改的设置并没有起作用;而通过\bin\startup.bat 启动却是生效的。这是为什么呢?因为在安装过程中,JVM的初始化参数已经写在注册表中了,由于没有修改注册表中相关参数,所以以windows服务方式启动时,修改的并没有生效。而通过\bin\startup.bat 启动直接是通过\bin\catalina.bat文件中的配置的。你需要重新加载到系统服务中才生效,或者你手工在注册表中查找修改启动值,加载到服务中的时候参数已经配置好了,自己修改artup.bat不会改变注册表中的参数设置。解决方法:修改注册表中的参数,加入JVM初始化内存的参数:
HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Tomcat Service Manager\Tomcat5\Parameters\JavaOptions
值为
-Dcatalina.home="C:\ApacheGroup\Tomcat 5.0"
-Djava.endorsed.dirs="C:\ApacheGroup\Tomcat 5.0\common\endorsed"
-Xrs
如加入 -Xms512m -Xmx800m
在访问量比较大的情况下,就要求为JVM提供较大的内存分配区域,可以通过启动参数来设置,具体说明如下:
启动参数放置在启动命令行中(tomcat.bat或catalina.bat文件中),格式如下:
java ....-DmsXXM -DmxXXM....
其中XX是内存大小,M表示设置的单位是兆,ms是制最小内存分配,mx指最大内存分配,具体例子如下: java ....-Dms128M -Dmx256M.... 表示JVM启动时最小开辟128M内存提供使用,最大开辟到256M内存使用。 设置内存大小的原则,从我个人的经验来看,最小值应该是内存总量的1/4到1/3,最大值不超过内存总量的1/2(最大可以设置到512M),如机器内存是512M,则可以设置成: java ....-Dms128M -Dmx256M....