tomcat 设置缓存大小

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

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

  
    在前段时间,我用resin的时候启动文件里面还好设置这两个参数,但是换了tomcat以
后就不一样了,

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

    1.    就需要在环境变量中加上TOMCAT_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 :
\tomcat\bin\catalina.bat
update the line
set JAVA_OPTS=-Xmx256M -Xms64M
means max cache & min cache

=================================================================================

Tomcat 5.5端口设置

为了与IIS的端口区别开来,Tomcat默认的端口是8080。然而很多时候,我们并不习惯于使用8080端口来访问web网站,特别是将其部署在Internet上以后,采用域名去访问它尤为不便,为此,我们希望更改Tomcat应用服务器的端口。在以前的版本中,更改端口的设置是十分方便的,只需打开Tomcat主目录中conf目录下的server.xml文件,找到其中的Connector port="8080",并将其更改为Connector port="80"即可,修改后的文件如下(有删减): 

  < Service  name ="Catalina" >

     <!--  Define a non-SSL HTTP/1.1 Connector on port 8080, change it to 80.  -->

     < Connector

port ="80"                maxHttpHeaderSize ="8192"

               maxThreads ="150"  minSpareThreads ="25"  maxSpareThreads ="75"

               enableLookups ="false"  redirectPort ="8443"  acceptCount ="100"

               connectionTimeout ="20000"  disableUploadTimeout ="true"   />

    

     <!--  Define a SSL HTTP/1.1 Connector on port 8443  -->

     <!--

    <Connector port="8443" maxHttpHeaderSize="8192"

               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"

               enableLookups="false" disableUploadTimeout="true"

               acceptCount="100" scheme="https" secure="true"

               clientAuth="false" sslProtocol="TLS" />

     -->

     <!--  Define an AJP 1.3 Connector on port 8009  -->

     < Connector  port ="8009"  

               enableLookups ="false"  redirectPort ="8443"  protocol ="AJP/1.3"   />

          

     <!--  Define the top level container in our container hierarchy  -->

     < Engine  name ="Catalina"  defaultHost ="localhost" >

       <!--  Because this Realm is here, an instance will be shared globally  -->

       <!--  This Realm uses the UserDatabase configured in the global JNDI

           resources under the key "UserDatabase".  Any edits

           that are performed against this UserDatabase are immediately

           available for use by the Realm.   -->

       < Realm  className ="org.apache.catalina.realm.UserDatabaseRealm"

             resourceName ="UserDatabase" />

      <!--  Define the default virtual host

           Note: XML Schema validation will not work with Xerces 2.2.

        -->

       < Host  name ="localhost"  appBase ="webapps"

       unpackWARs ="true"  autoDeploy ="true"

       xmlValidation ="false"  xmlNamespaceAware ="false" >

       </ Host >

     </ Engine >

   </ Service >

改动好以后,重启Tomcat,改动就生效了,应该说,还是挺方便的。

 

===========================================================================

关于jboss或者tomcat服务器内存配置的说明

http://zhidao.baidu.com/question/25136505.html?quesup1

http://zhidao.baidu.com/question/25133237.html

==============================================================================

设置tomcat内存

2008年03月04日 星期二 下午 12:43

 

设置tomcat内存

大家都知道,JAVA程序启动时都会JVM都会分配一个初始内存和最大内存给这个应用程序。这个初始内存和最大内存在一定程度都会影响程序的性能。比如说在应用程序用到最大内存的时候,JVM是要先去做垃圾回收的动作,释放被占用的一些内存。

所以想调整Tomcat的启动时初始内存和最大内存就需要向JVM声明,一般的JAVA程序在运行都可以通过中-Xms -Xmx来调整应用程序的初始内存和最大内存:

如:java -Xms64m -Xmx128m a.jar.

tomcat的启动程序是包装过的,不能直接使用java -X..... tomcat.*来改变内存的设置。在Tomcat在改变这个设置

有两种方法:

1. 就需要在环境变量中加上TOMCAT_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="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION% 中的%CATALINA_OPTS% 替换成-Xms64m -Xmx512m

============================================================

Tomcat内存设置方法

windows中大家都知道,JAVA程序启动时都会JVM都会分配一个初始内存和最大内存给这个应用程序。这个初始内存和最大内存在一定程度都会影响程序的性能。比如说在应用程序用到最大内存的时候,JVM是要先去做垃圾回收的动作,释放被占用的一些内存。

   所以想调整Tomcat的启动时初始内存和最大内存就需要向JVM声明,一般的JAVA程序在运行都可以通过中-Xms -Xmx来调整应用程序的初始内存和最大内存:

如:java -Xms64m -Xmx128m a.jar.

   tomcat的启动程序是包装过的,不能直接使用java -X..... tomcat.*来改变内存的设置。在Tomcat在改变这个设置

有两种方法:

1. 适合用%tomcat_home%\bin中的startup.bat脚本启动,需要在环境变量中加上CATALINA_OPTS这个属性 。

       如 SET CATALINA_OPTS= -Xms64m -Xmx512m;

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

因为:用startup.bat启动tomcat服务器,会调用catalina.bat文件,在Catalian.bat文件的166行“rem Execute Java with the applicable properties ”下面会加载系统设置的相关属性。

其中就有%CATALINA_OPTS%这一项。这样tomcat在启动时就会将内存设置为指定的值。

2. 适合将tomcat作为系统服务启动,这时候上面设置CATALINA_OPTS 属性的方法就不适用了,因为作为系统服务的话,系统启动时调用的是 %tomcat_home%\bin\tomcat5w.exe,他读取注册表中的值,而不是catalina.bat的设置,因此需要修改注册表:

解决办法:

修改注册表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

加入 -Xms300m -Xmx350m

重起tomcat服务,设置生效

最后,测试tomcat大小,jsp页面

<%

Runtime lRuntime = Runtime.getRuntime();

out.println("*** BEGIN MEMORY STATISTICS ***<br/>");

out.println("Free Memory: "+lRuntime.freeMemory()+"<br/>");

out.println("Max   Memory: "+lRuntime.maxMemory()+"<br/>");

out.println("Total Memory: "+lRuntime.totalMemory()+"<br/>");

out.println("Available Processors : "+lRuntime.availableProcessors()+"<br/>");

out.println("*** END MEMORY STATISTICS ***");

%>

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值