windows中你們都知道,JAVA程序啓動時都會JVM都會分配一個初始內存和最大內存給這個應用程序。這個初始內存和最大內存在必定程度都會影響程序的性能。好比說在應用程序用到最大內存的時候,JVM是要先去作垃圾回收的動做,釋放被佔用的一些內存。 java
因此想調整Tomcat的啓動時初始內存和最大內存就須要向JVM聲明,通常的JAVA程序在運行均可以經過中-Xms -Xmx來調整應用程序的初始內存和最大內存:windows
如:java -Xms64m -Xmx128m a.jar.tomcat
tomcat的啓動程序是包裝過的,不能直接使用java -X..... tomcat.*來改變內存的設置。在Tomcat在改變這個設置 服務器
有兩種方法: app
1. 適合用%tomcat_home%\bin中的startup.bat腳本啓動,須要在環境變量中加上CATALINA_OPTS這個屬性 。性能
如 SET CATALINA_OPTS= -Xms64m -Xmx512m;spa
ms是最小的,mx是最大,64m, 512m分別是指內存的初始和最大容量.內存
由於:用startup.bat啓動tomcat服務器,會調用catalina.bat文件,在Catalian.bat文件的166行「rem Execute Java with the applicable properties 」下面會加載系統設置的相關屬性。rem
其中就有%CATALINA_OPTS%這一項。這樣tomcat在啓動時就會將內存設置爲指定的值。it
2. 適合將tomcat做爲系統服務啓動,這時候上面設置CATALINA_OPTS 屬性的方法就不適用了,由於做爲系統服務的話,系統啓動時調用的是 %tomcat_home%\bin\tomcat5w.exe,他讀取註冊表中的值,而不是catalina.bat的設置,所以須要修改註冊表:
HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Procrun 2.0\tomcat7\Parameters\Java下的JvmMs和JvmMx,