myeclipse擴大tomcat記憶體
在window->preferences->myeclipse->application server->tomcat 5->jdk->optional java jvm arguments里加:
-Xms256m -Xmx512m -Xss4M -XX:MaxPermSize=256m
一、在Tomcat中增加JVM記憶體
關鍵字: jvm
大家都知道,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= -Xms256m -Xmx512m
SET TOMCAT_OPTS= -Xms256m -Xmx512m
ms是最小的,mx是最大,256m, 512m分別是指記憶體的容量.
2. 修改Catalina.bat檔案
在92行後面增加 set JAVA_OPTS = -Xms256m -Xmx512m
SET CATALINA_OPTS= -Xms256m -Xmx512m
二、TOMCAT JVM設定
1:TOMCAT初始JVM大小為64M,在將應用正式部署後,可以通過調整catalina.bat中的內容調整tomcat的初始JVM大小,以獲得更好的效能
2:修改 bin目錄下的/catalina.bat
3:查詢 %_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %DEBUG_OPTS% -Xms256m -Xmx256m
4:Xms為初始最小分配記憶體,Xmx為最大允許分配記憶體。
具體的幫助可以使用java -X -help看相關的引數含義
5:一般將xms和xmx設定為同樣的值
6:通過Tomcat Manager 中 Server Status 可以瀏覽記憶體使用情況根據程式需要調整其大小
Eclipse
1:在ECLIPSE目錄中查詢到eclipse.ini
預設情況
-vmargs
-Xms40m
-Xmx256m
可以適當修改其中引數的值
然後重新啟動ECLIPSE
三、windows NT作業系統:
在catalina.bat最前面加入
set JAVA_OPTS=-Xms128m -Xmx350m
如果用startup.bat啟動tomcat,OK設定生效.夠成功的分配200M記憶體.
但是如果不是執行startup.bat啟動tomcat而是利用windows的系統服務啟動tomcat服務,上面的設定就不生效了,
就是說set JAVA_OPTS=-Xms128m -Xmx350m 沒起作用.上面分配200M記憶體就OOM了..
windows服務執行的是bin\tomcat.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服務,設定生效
四、使用jdk下的bin\jconsole.exe啟動java監視和管理控制檯
修改登錄檔(在tomcat5.5測試,需配置java環境變數),測試過可以使用、
Apache Software Foundation\Procrun 2.0\Tomcat6\Parameters\Java\Options加上
-Dcom.sun.management.jmxremote
-Xms128m
-Xmx350m