Javaphua Blog

          BlogJava 首頁(yè) 新隨筆 聯(lián)系 聚合 管理
            46 Posts :: 5 Stories :: 46 Comments :: 0 Trackbacks
          windows中大家都知道,JAVA程序啟動(dòng)時(shí)都會(huì)JVM都會(huì)分配一個(gè)初始內(nèi)存和最大內(nèi)存給這個(gè)應(yīng)用程序。這個(gè)初始內(nèi)存和最大內(nèi)存在一定程度都會(huì)影響程序的性能。比如說在應(yīng)用程序用到最大內(nèi)存的時(shí)候,JVM是要先去做垃圾回收的動(dòng)作,釋放被占用的一些內(nèi)存。
          所以想調(diào)整Tomcat的啟動(dòng)時(shí)初始內(nèi)存和最大內(nèi)存就需要向JVM聲明,一般的JAVA程序在運(yùn)行都可以通過中-Xms -Xmx來調(diào)整應(yīng)用程序的初始內(nèi)存和最大內(nèi)存:
          如:java -Xms64m -Xmx128m a.jar.
          tomcat
          的啟動(dòng)程序是包裝過的,不能直接使用java -X..... tomcat.*來改變內(nèi)存的設(shè)置。在Tomcat在改變這個(gè)設(shè)置
          有兩種方法:
          1.
          就需要在環(huán)境變量中加上TOMCAT_OPTS, CATALINA_OPTS兩個(gè)屬性,
          SET CATALINA_OPTS= -Xms64m -Xmx512m;
          ms
          是最小的,mx是最大,64m, 512m分別是指內(nèi)存的容量.
          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(把四行內(nèi)的%CATALINA_OPTS%都替換掉,包括兩邊的%

          3.啟動(dòng)%tomcat%\bin\tomcat5w.exe,在java項(xiàng)中設(shè)置初始化內(nèi)存的大小

          測(cè)試tomcat大小,jsp頁(yè)面
          <%
          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 閱讀(7228) 評(píng)論(1)  編輯  收藏

          Feedback

          # re: 增加tomcat內(nèi)存 2008-08-12 11:20 sharklv
          主貼基本上是可行的,但是有些小問題:
          1、可以在setclasspath.bat或catalina.bat文件中增加環(huán)境變量:CATALINA_OPTS,直接替換catalina.bat中的CATALINA_OPTS不太好。
          2、設(shè)置CATALINA_OPTS變量正確的寫法應(yīng)該是:SET CATALINA_OPTS= -Xms64m -Xmx512m。沒有后面的“;”。  回復(fù)  更多評(píng)論
            


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 安吉县| 蓬莱市| 荣成市| 广西| 神木县| 大新县| 富蕴县| 兴国县| 贵阳市| 怀远县| 彰化县| 宜丰县| 科技| 海城市| 巴林左旗| 沧源| 大宁县| 丰台区| 扬州市| 甘南县| 南投市| 仁怀市| 北碚区| 泰和县| 睢宁县| 云林县| 湟源县| 富锦市| 垦利县| 万全县| 广宗县| 瓮安县| 巴南区| 津市市| 宁城县| 射洪县| 临夏市| 章丘市| 甘谷县| 安达市| 湖北省|