2024年3月10日发(作者:)

tomcat 设置缓存大小

java的运行平台JVM(java虚拟机)在一个应用程序启动的时候,

虚拟机都要分配一个最的内存和最小内存给他的。对于内存吃内存狂

的JAVA来说,这个初始内存和最大内存在一定程度会对应用程序的

性能产生很大的影响。比如说在我们的应用程序用到JVM给的这个

最大内存配额的时候,JVM就不得不先停下我们的应用程

序的工作,去寻找可以回手的垃圾(释放已经无用的对象占用的内

存),释放被占用的一些内存。

一般我们为了自己配额的这个最大值和最小值都是在启动java程

序的时候加参数:-X

ms -Xmx来调整应用程序的初始内存和最大内存,其中Xms代表最

小配额,Xmx代表最大配额。

在前段时间,我用resin的时候启动文件里面还好设置这两个参

数,但是换了tomcat以

后就不一样了,

tomcat的启动并不是普通的java程序那样,是经过了封装的,所

以在设置这两个参数

的时候还有写麻烦,不过只要是java程序,总有地方可以设置这个

参数的。

在查找了一些资料以后终于搞定了,可以通过下面这两种方法来

解决:

1. 就需要在环境变量中加上

CATALINA_OPTS两个属性,

如 SET CATALINA_OPTS= -Xms64m -Xmx512m;

ms是最小的,mx是最大,64m, 512m分别是指内存的容量.

2. 修改文件

在166行“rem Execute Java with the applicable properties ”以

下每行

%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %DEBUG_OPTS%

-="%JA

VA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -="%CATALINA_BASE%"

-="%CATALINA_HOME%" -="%CATALINA_TMPDIR%" %MAINCL

ASS% %CMD_LINE_ARGS% %ACTION% 中的%CATALINA_OPTS% 替换成-Xms64m -Xmx512m

TOMCAT_OPTS,

e.g

update file :

update the line

set JAVA_OPTS=-Xmx256M -Xms64M

means max cache & min cache