各種Web容器修改內存的方式

 Tomcat

 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 ***");
 %>


Weblongic

 weblogic8.1設置JVM內存
 默認域 D:/bea/weblogic81/samples/domains/workshop下的setDomainEnv.cmd
 中set MEM_ARGS=-Xms64m -Xmx64m,修改自己需要的數值.

 

發佈了18 篇原創文章 · 獲贊 5 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章