使用Tomcat5輕松設置JVM內存
你對Tomcat5設置JVM內存的方法是否了解,這里和大家分享一下,Tomcat本身不能直接在計算機上運行,需要依賴于硬件基礎之上的操作系統和一個java虛擬機。
Tomcat5常用優化和配置
1、JDK內存優化:
Tomcat默認可以使用的內存為128MB,Windows下,在文件{tomcat_home}/bin/catalina.bat,Unix下,在文件{tomcat_home}/bin/catalina.sh的前面,增加如下設置:
JAVA_OPTS='-Xms[初始化內存大小]-Xmx[可以使用的***內存]'
參數/描述
-Xms JVM初始化堆的大小
-Xmx JVM堆的***值,一般說來,你應該使用物理內存的80%作為堆大小。
2、連接器優化:
在tomcat配置文件server.xml中的配置中,和連接數相關的參數有:
maxThreads:Tomcat使用線程來處理接收的每個請求。這個值表示Tomcat可創建的***的線程數。默認值200。
acceptCount:指定當所有可以使用的處理請求的線程數都被使用時,可以放到處理隊列中的請求數,超過這個數的請求將不予處理。默認值10。
minSpareThreads:Tomcat初始化時創建的線程數。默認值4。
maxSpareThreads:一旦創建的線程超過這個值,Tomcat就會關閉不再需要的socket線程。默認值50。
enableLookups:是否反查域名,默認值為true。為了提高處理能力,應設置為false
connnectionTimeout:網絡連接超時,默認值60000,單位:毫秒。設置為0表示永不超時,這樣設置有隱患的。通常可設置為30000毫秒。
maxKeepAliveRequests:保持請求數量,默認值100。
bufferSize:輸入流緩沖大小,默認值2048bytes。
compression:壓縮傳輸,取值on/off/force,默認值off。
其中和***連接數相關的參數為maxThreads和acceptCount。如果要加大并發連接數,應同時加大這兩個參數。webserver允許的***連接數還受制于操作系統的內核參數設置,通常Windows是2000個左右,Linux是1000個左右。
3、tomcat中如何禁止和允許列目錄下的文件
在{tomcat_home}/conf/web.xml中,把listings參數設置成false即可,如下:
- <servlet>
- ...
- <init-param>
- <param-name>listings</param-name>
- <param-value>false</param-value>
- </init-param>
- ...
- </servlet>
4、tomcat中如何禁止和允許主機或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>
這是服務器的配置
- JAVA_OPTS='-server-Xms512m-Xmx768m-XX:NewSize=128m
- -XX:MaxNewSize=192m-XX:SurvivorRatio=8'
【編輯推薦】