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=-Xms512m -Xmx512m
加入?-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 ***");
%>
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
