欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

tomcat 设置缓存大小

程序员文章站 2022-07-07 23:20:43
    java的运行平台JVM(java虚拟机)在一个应用程序启动的时候,虚拟机都要分配一个最的内存和最小内存给他的。对于内存吃内存狂的JAVA来说...

    java的运行平台JVM(java虚拟机)在一个应用程序启动的时候,虚拟机都要分配一个最的内存和最小内存给他的。对于内存吃内存狂的JAVA来说,这个初始内存和最大内存在一定程度会对应用程序的性能产生很大的影响。比如说在我们的应用程序用到JVM给的这个最大内存配额的时候,JVM就不得不先停下我们的应用程
序的工作,去寻找可以回手的垃圾(释放已经无用的对象占用的内存),释放被占用的一些内存。

    一般我们为了自己配额的这个最大值和最小值都是在启动java程序的时候加参数:-X
ms -Xmx来调整应用程序的初始内存和最大内存,其中Xms代表最小配额,Xmx代表最大配额

  
    在前段时间,我用resin(一个免费的JSP运行平台)的时候启动文件里面还好设置这两个参数,但是换了tomcat(一个很好用的JSP运行平台)
后就不一样了,

    tomcat(一个很好用的JSP运行平台)的启动并不是普通的java程序那样,是经过了封装的,所以在设置这两个参数
的时候还有写麻烦,不过只要是java程序,总有地方可以设置这个参数的。
   
    在查找了一些资料以后终于搞定了,可以通过下面这两种方法来解决:

    1.    就需要在环境变量中加上tomcat(一个很好用的JSP运行平台)_OPTS, CATALINA_OPTS两个属性,
        如 SET  CATALINA_OPTS= -Xms64m -Xmx512m;
        ms是最小的,mx是最大,64m, 512m分别是指内存的容量.

    2.    修改Catalina.bat文件
       在166行“rem Execute Java with the applicable properties ”以下每行
%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %DEBUG_OPTS% -Djava.endorsed.dirs="%JA
VA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Dcatalina.base="%CATALINA_BASE%"
-Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCL
ASS% %CMD_LINE_ARGS% %ACTION% 中的%CATALINA_OPTS% 替换成-Xms64m -Xmx512m

 

e.g
??update file :
?? omcat(一个很好用的JSP运行平台)incatalina.bat
??update the line
??set JAVA_OPTS=-Xmx256M -Xms64M
??means max cache & min cache