使用Tomcat5輕松設(shè)置JVM內(nèi)存
你對Tomcat5設(shè)置JVM內(nèi)存的方法是否了解,這里和大家分享一下,Tomcat本身不能直接在計算機(jī)上運(yùn)行,需要依賴于硬件基礎(chǔ)之上的操作系統(tǒng)和一個java虛擬機(jī)。
Tomcat5常用優(yōu)化和配置
1、JDK內(nèi)存優(yōu)化:
Tomcat默認(rèn)可以使用的內(nèi)存為128MB,Windows下,在文件{tomcat_home}/bin/catalina.bat,Unix下,在文件{tomcat_home}/bin/catalina.sh的前面,增加如下設(shè)置:
JAVA_OPTS='-Xms[初始化內(nèi)存大小]-Xmx[可以使用的***內(nèi)存]'
參數(shù)/描述
-Xms JVM初始化堆的大小
-Xmx JVM堆的***值,一般說來,你應(yīng)該使用物理內(nèi)存的80%作為堆大小。
2、連接器優(yōu)化:
在tomcat配置文件server.xml中的配置中,和連接數(shù)相關(guān)的參數(shù)有:
maxThreads:Tomcat使用線程來處理接收的每個請求。這個值表示Tomcat可創(chuàng)建的***的線程數(shù)。默認(rèn)值200。
acceptCount:指定當(dāng)所有可以使用的處理請求的線程數(shù)都被使用時,可以放到處理隊列中的請求數(shù),超過這個數(shù)的請求將不予處理。默認(rèn)值10。
minSpareThreads:Tomcat初始化時創(chuàng)建的線程數(shù)。默認(rèn)值4。
maxSpareThreads:一旦創(chuàng)建的線程超過這個值,Tomcat就會關(guān)閉不再需要的socket線程。默認(rèn)值50。
enableLookups:是否反查域名,默認(rèn)值為true。為了提高處理能力,應(yīng)設(shè)置為false
connnectionTimeout:網(wǎng)絡(luò)連接超時,默認(rèn)值60000,單位:毫秒。設(shè)置為0表示永不超時,這樣設(shè)置有隱患的。通常可設(shè)置為30000毫秒。
maxKeepAliveRequests:保持請求數(shù)量,默認(rèn)值100。
bufferSize:輸入流緩沖大小,默認(rèn)值2048bytes。
compression:壓縮傳輸,取值on/off/force,默認(rèn)值off。
其中和***連接數(shù)相關(guān)的參數(shù)為maxThreads和acceptCount。如果要加大并發(fā)連接數(shù),應(yīng)同時加大這兩個參數(shù)。webserver允許的***連接數(shù)還受制于操作系統(tǒng)的內(nèi)核參數(shù)設(shè)置,通常Windows是2000個左右,Linux是1000個左右。
3、tomcat中如何禁止和允許列目錄下的文件
在{tomcat_home}/conf/web.xml中,把listings參數(shù)設(shè)置成false即可,如下:
- <servlet>
- ...
- <init-param>
- <param-name>listings</param-name>
- <param-value>false</param-value>
- </init-param>
- ...
- </servlet>
4、tomcat中如何禁止和允許主機(jī)或IP地址訪問
- <HostnameHostname="localhost"...>
- ...
- <ValveclassNameValveclassName="org.apache.catalina.valves.
- RemoteHostValve"allow="*.mycompany.com,www.yourcompany.com"/>
- <ValveclassNameValveclassName="org.apache.catalina.valves.
- RemoteAddrValve"deny="192.168.1.*"/>
- ...
- </Host>
這是服務(wù)器的配置
- JAVA_OPTS='-server-Xms512m-Xmx768m-XX:NewSize=128m
- -XX:MaxNewSize=192m-XX:SurvivorRatio=8'
【編輯推薦】
- 調(diào)用tomcat設(shè)置JVM參數(shù)
- JVM安裝與Tomcat配置具體步驟
- 巧解Tomcat中JVM內(nèi)存溢出問題
- 新一代JVM垃圾回收算法出爐
- 揭露JDK,JRE,JVM三者不為人知的隱情