Windows下調(diào)整服務(wù)版Tomcat啟動參數(shù)
一、命令窗口輸入
D:\Java\tomcat-7.0.57-Css\bin\tomcat7w.exe //ES//Apache_Tomcat_Css Service
通過上述命令可打開tomcat的管理頁面渐白,點擊JAVA進入Java options 輸入框
里面原內(nèi)容:
-Dcatalina.home=D:\Java\tomcat-7.0.57-Css
-Dcatalina.base=D:\Java\tomcat-7.0.57-Css
-Djava.endorsed.dirs=D:\Java\tomcat-7.0.57-Css\endorsed
-Djava.io.tmpdir=D:\Java\tomcat-7.0.57-Css\temp
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-Djava.util.logging.config.file=D:\Java\tomcat-7.0.57-Css\conf\logging.properties
在最后面加入:
-XX:PermSize=64M
-XX:MaxPermSize=1024m
-XX:ReservedCodeCacheSize=48m
點擊應(yīng)用嘲碱,點擊確認泛烙;
再 修改 D:\Java\tomcat-7.0.57-Css\bin 下的 service.bat 文件
找到下面這句:
set "SELF=%~dp0%service.bat"
rem Guess CATALINA_HOME if not defined
set "CURRENT_DIR=%cd%"
在這句后面加上下局:
set JAVA_OPTS = -Xms256m -Xmx512m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m -Djava.awt.headless=true
保存后在服務(wù)上啟動即可儡炼;
二、不注冊服務(wù)员咽,啟動修改
修改 D:\Java\tomcat-7.0.57-Css\bin 下的 catalina.bat 文件
找到下面這句:
rem Guess CATALINA_HOME if not defined
set "CURRENT_DIR=%cd%"
在這句后面加上下局:
set JAVA_OPTS = -Xms256m -Xmx512m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m -Djava.awt.headless=true
保存后啟動即可根暑;
三力试、注冊服務(wù) 修改注冊列表
運行 regedit
找到注冊表項:HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation
1 運行 regedit
2 找到目錄Apache Software Foundation\Procrun 2.0\Tomcat\Parameters\Java
3 編輯java的屬性:JvmMs 最小占內(nèi)存; JvmMx 最大占內(nèi)存
注冊表中apache的具體路徑說明
32位機器的路徑是:HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation
64位機器的路徑是:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation
再往下找 Procrun 2.0\Tomcat7\Parameters\Java
有個 Options 設(shè)置
-Dcatalina.home=D:\Java\tomcat-7.0.57-Css
-Dcatalina.base=D:\Java\tomcat-7.0.57-Css
-Djava.endorsed.dirs=D:\Java\tomcat-7.0.57-Css\endorsed
-Djava.io.tmpdir=D:\Java\tomcat-7.0.57-Css\temp
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-Djava.util.logging.config.file=D:\Java\tomcat-7.0.57-Css\conf\logging.properties
雙擊它進行編輯排嫌,在末尾增加下面行就搞定了:
-XX:PermSize=64M
-XX:MaxPermSize=1024m
-XX:ReservedCodeCacheSize=48m
Windows下調(diào)整基于startup.bat啟動的Tomcat啟動參數(shù)
在catalina.bat的第一行增加:
在catalina.sh的第一行增加:
set JAVA_OPTS=-Xms1024m -Xmx1024m -Xss1024K -XX:PermSize=64m -XX:MaxPermSize=128m
參數(shù)詳解
-Xms JVM初始化堆內(nèi)存大小
-Xmx JVM堆的最大內(nèi)存
-Xss 線程棧大小
-XX:PermSize JVM非堆區(qū)初始內(nèi)存分配大小
-XX:MaxPermSize JVM非堆區(qū)最大內(nèi)存
<Connector port="8080"
protocol="org.apache.coyote.http11.Http11AprProtocol"
connectionTimeout="20000" //鏈接超時時長
redirectPort="8443"
maxThreads="500"http://設(shè)定處理客戶請求的線程的最大數(shù)目畸裳,決定了服務(wù)器可以同時響應(yīng)客戶請求的數(shù),默認200
minSpareThreads="20"http://初始化線程數(shù),最小空閑線程數(shù)躏率,默認為10
acceptCount="1000" //當(dāng)所有可以使用的處理請求的線程數(shù)都被使用時躯畴,可以被放到處理隊列中請求數(shù),請求數(shù)超過這個數(shù)的請求將不予處理薇芝,默認100
enableLookups="false"
URIEncoding="UTF-8" />
Tomcat默認可以使用的內(nèi)存為128MB蓬抄,在較大型的應(yīng)用項目中,這點內(nèi)存是不夠的夯到,需要調(diào)大嚷缭。
Windows下,在文件{tomcat_home}/bin/catalina.bat,Unix下阅爽,在文件{tomcat_home}/bin/catalina.sh的前面路幸,設(shè)置JVM內(nèi)存:
JAVA_OPTS='-Xms【初始化內(nèi)存大小】 -Xmx【可以使用的最大內(nèi)存】'
需要把這個兩個參數(shù)值調(diào)大。例如:
JAVA_OPTS='-Xmx3550m -Xms3550m'
Tomcat 內(nèi)存調(diào)整
CATALINA_OPTS="-Xms1024m -Xmx1024m -Xmn512m -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:CMSInitiatingOccupancyFraction=50"
-Xms【初始化內(nèi)存大小】
-Xmx【可以使用的最大內(nèi)存】
- Xmn【可以使用的最小內(nèi)存】
-XX:UseConcMarkSweepGC:啟用并發(fā)收集器(老年代并發(fā)收集器)
可以保證大部分工作都并發(fā)進行(應(yīng)用不停止)付翁,垃圾回收只暫停很少的時間
-XX:+UseParNewGC:啟用并發(fā)收集器(年輕代并發(fā)收集器)
-XX:CMSInitiatingOccupancyFraction=<N>:指定還有多少剩余堆時開始執(zhí)行并發(fā)收集
但是如果不是執(zhí)行startup.bat啟動tomcat而是利用windows的系統(tǒng)服務(wù)啟動tomcat服務(wù),上面的設(shè)置就不生效了,就是說set JAVA_OPTS=-Xmx3550m -Xms3550m 沒起作用.