tomcat 設置啓動參數(linux 和 windows)

Linux:

在/usr/tomcat6/bin目錄下的catalina.sh文件中,首先設置JAVA_HOME,linux下設置JAVA_HOME需要使用export指令,如:export JAVA_HOME=/usr/appserver/jdk1.6

然後添加jvm的JAVA_OPTS:JAVA_OPTS='-Xms1024m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=256m -XX:+PrintGCDetails -server'

要加"m"說明是MB,否則就是KB了,在啓動tomcat時會報內存不足。

-Xms:初始堆大小
-Xmx:最大堆大小
-Xmn:最小值
PermSize 永久保存區域初始大小
MaxPermSize 永久保存區域初始最大值

linux下catalina.sh中完整代碼如下:

?
1
2
3
4
5
export CATALINA_BASE=/usr/appserver/tomcat6  
export CATALINA_HOME=/usr/appserver/tomcat6 
export CATALINA_TMPDIR=/usr/appserver/tomcat6/temp     
export JAVA_HOME=/usr/appserver/jdk1.6      
export JAVA_OPTS='-Xms1024m -Xmx1024m  -XX:PermSize=256m -XX:MaxPermSize=256m  -XX:+PrintGCDetails -server'

Windows

在catalina.bat最前面加入

set JAVA_OPTS=-Xms1024m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=256m -XX:+PrintGCDetails -server

如果用startup.bat啓動tomcat,OK設置生效.夠成功的分配1024M內存.

windows下catalina.bat中完整代碼如下:

?
1
2
3
set JAVA_HOME=E:\jdk1.6.0_31
set JAVA_OPTS=-Xms1024m -Xmx1024m  -XX:PermSize=256m -XX:MaxPermSize=256m  -XX:+PrintGCDetails 
set JAVA_OPTS=%JAVA_OPTS% -server -verbose:gc 

但是如果不是執行startup.bat啓動tomcat而是利用windows的系統服務啓動tomcat服務,上面的設置就不生效了,就是說set JAVA_OPTS=-Xms1024m -Xmx1024m 沒起作用.上面分配200M內存就OOM了.. windows服務執行的是bin/tomcat.exe.他讀取註冊表中的值,而不是catalina.bat的設置.

解決辦法:

修改註冊表HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/services/Tomcat7/Parameters/JavaOptions

原值爲 
-Dcatalina.base=F:\tomcat-7 
-Dcatalina.home=F:\tomcat-7
-Djava.endorsed.dirs=F:\tomcat-7\endorsed 
-Djava.io.tmpdir=F:\tomcat-7\temp 
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager 
-Djava.util.logging.config.file=F:\tomcat-7\conf\logging.properties 
加入 -Xms1024m -Xmx1024m

重起tomcat服務,設置生效

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章