Javaren就是爪洼人!

          一起來(lái)研究java

          常用鏈接

          統(tǒng)計(jì)

          最新評(píng)論

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

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

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

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

          主站蜘蛛池模板: 承德市| 故城县| 滦平县| 肇源县| 靖西县| 铜陵市| 梁山县| 罗平县| 沁源县| 永年县| 邯郸县| 耿马| 台南市| 大石桥市| 来安县| 明光市| 珠海市| 鹤壁市| 沂源县| 乌兰察布市| 桐梓县| 平原县| 深水埗区| 从江县| 平南县| 三河市| 兴宁市| 浦江县| 汶川县| 正镶白旗| 呈贡县| 五常市| 万州区| 靖边县| 镇赉县| 繁昌县| 安义县| 当阳市| 潼南县| 安阳市| 鹤山市|