1. 程式人生 > >myeclipse擴大tomcat記憶體

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