Javaren就是爪洼人!

          一起來研究java

          常用鏈接

          統(tǒng)計(jì)

          最新評論

          Configuring Tomcat 學(xué)習(xí)體會(02)

          3. Java虛擬機(jī)配置

          如果使用Tomcat默認(rèn)配置來建設(shè)Web網(wǎng)站,可能會沒有足夠內(nèi)存來響應(yīng)所有的請求,并且可能會在所有客戶端報(bào)錯(cuò);或者有足夠內(nèi)存了,但是沒有足夠的線程,那么有些并發(fā)的訪問會無法被Tomcat處理或被舍棄,造成部分客戶端無法訪問。下表是JVM參數(shù)說明(非Sun公司的JDK/JRE無效):
          用處       JVM選項(xiàng)                 說明
          ------------------------------------------------------------------------------------
          內(nèi)存設(shè)置 |
          -Xms384M                        | 設(shè)置JVM啟動時(shí)的堆(heap)內(nèi)存大小
          內(nèi)存設(shè)置
          | -Xmx384M                        | 設(shè)置JVM可以擴(kuò)展的最大堆(heap)內(nèi)存大小
          調(diào)試安全
          | -Djava.security.debug=all       | 打開所有有關(guān)安全的調(diào)試輸出
          調(diào)試    
          | -enableassertions               | 允許聲明檢查(給開發(fā)人員調(diào)試代碼用的)
          調(diào)試    
          | -verbose:class                  | 允許類加載的詳細(xì)調(diào)試輸出
          調(diào)試    
          | -verbose:gc                     | 允許垃圾回收器的調(diào)試輸出
          圖像    
          | -Djava.awt.headless=true        | 允許JVM運(yùn)行在在沒有安裝圖像顯示軟件的情況下
          本地化  
          | -Duser.language=en              | 設(shè)置Tomcat用戶的語言包
          本地化  
          | -Dfile.encoding=UTF-8           | 設(shè)置Tomcat用戶的默認(rèn)文件編碼
          網(wǎng)絡(luò)    
          | -Djava.net.preferIPv4Stack=true | 讓JVM用IPv4代替IPv6,Tomcat在FreeBSD系統(tǒng)下需要設(shè)置該參數(shù)
          從上表可以看出,堆(heap)內(nèi)存設(shè)置是最重要的。如果Tomcat的堆內(nèi)存設(shè)置太小,可能會造成運(yùn)行速度慢或者報(bào)出OutOfMemoryError的錯(cuò)誤并造成不可知反應(yīng)。如果設(shè)置太大了,又會浪費(fèi)系統(tǒng)內(nèi)存,甚至可能影響其他程序的正常運(yùn)行。
          如果Tomcat JVM的啟動堆內(nèi)存小而擴(kuò)展內(nèi)存大,那么在JVM在擴(kuò)展內(nèi)存時(shí)會影響Tomcat的反應(yīng),造成速度變慢,所以最好是把Xms和Xmx設(shè)置一樣大小,至于具體內(nèi)存大小可以根據(jù)情況進(jìn)行測試和調(diào)整,后面將進(jìn)一步討論。
          使用JAVA_OPTS參數(shù)來加載各種JVM啟動參數(shù),例如你想讓Tomcat JVM運(yùn)行在調(diào)試模式,并且遠(yuǎn)程用8000端口進(jìn)行監(jiān)控,可以使用:
          JAVA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n"
          這會允許你連接一個(gè)JPDA遠(yuǎn)程調(diào)試器(例如各種Java IDE)。
          如果你想通過JMX遠(yuǎn)程終端來做本地Tomcat監(jiān)控的話可以:
          JAVA_OPTS="-Dcom.sun.management.jmxremote=true \
          -Dcom.sun.management.jmxremote.ssl=false \
          -Dcom.sun.management.jmxremote.authenticate=false"
          這樣你可以用JMX控制臺(例如JDK中帶的jconsole)來連接本地Tomcat,如果需要連接遠(yuǎn)程的,則:
          JAVA_OPTS="-Dcom.sun.management.jmxremote.port=8008 \
          -Dcom.sun.management.jmxremote.ssl=false \
          -Dcom.sun.management.jmxremote.authenticate=false \
          -Dcom.sun.management.jmxremote.password.file=/path/to/pw/file"
          如果你要設(shè)置Tomcat本地化語言,則:
          $ LANG=en_US
          $ catalina.sh start
          或者用
          -Duser.language=en

          posted on 2009-03-15 02:51 Terry Lee 閱讀(576) 評論(0)  編輯  收藏 所屬分類: JavaTomcat

          主站蜘蛛池模板: 通化县| 新密市| 和静县| 辰溪县| 康乐县| 东源县| 神池县| 东乌珠穆沁旗| 砀山县| 六盘水市| 商丘市| 桑植县| 浑源县| 饶阳县| 湖北省| 静乐县| 武邑县| 手游| 云林县| 商都县| 通渭县| 张家口市| 调兵山市| 哈尔滨市| 乌兰察布市| 大洼县| 星座| 兴义市| 义乌市| 金沙县| 勃利县| 万州区| 乌兰浩特市| 萝北县| 盐边县| 志丹县| 壶关县| 凉城县| 行唐县| 富锦市| 邯郸县|