Javaphua Blog

BlogJava 首页 新随笔 联系 聚合 管理
  46 Posts :: 5 Stories :: 46 Comments :: 0 Trackbacks
windows中大家都知道,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(把四行内的%CATALINA_OPTS%都替换掉,包括两边的%

3.启动%tomcat%\bin\tomcat5w.exe,在java项中设置初始化内存的大小

测试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 ***");
%>
posted on 2007-05-17 12:59 Javaphua 阅读(7193) 评论(1)  编辑  收藏

Feedback

# re: 增加tomcat内存 2008-08-12 11:20 sharklv
主贴基本上是可行的,但是有些小问题:
1、可以在setclasspath.bat或catalina.bat文件中增加环境变量:CATALINA_OPTS,直接替换catalina.bat中的CATALINA_OPTS不太好。
2、设置CATALINA_OPTS变量正确的写法应该是:SET CATALINA_OPTS= -Xms64m -Xmx512m。没有后面的“;”。  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: