隨筆-8  評論-2  文章-24  trackbacks-0
                  用JBoss 3.2.1架站以來,始終是一個(gè)大問題。不大的站點(diǎn),1G的內(nèi)存都不夠用,經(jīng)常要消耗500Mb的交換內(nèi)存(swap)。
                  JAVA_OPTS(bin/run.conf)寫法: -Xms 520m -Xmx 1220m -Xss 15120k +XX:AggressiveHeap
          這個(gè)JAVA_OPTS犯了2個(gè)致命的錯(cuò)誤:
             1. +XX:AggressiveHeap會(huì)使得 Xms 1220m沒有意義。這個(gè)參數(shù)讓jvm忽略Xmx參數(shù),瘋狂地吃完一個(gè)G物理內(nèi)存,再吃盡一個(gè)G的swap。
          另外Xmx作為允許jvm使用的最大內(nèi)存數(shù)量,不應(yīng)該超過物理內(nèi)存的90%。
          而之所以使用了這個(gè)參數(shù),是因?yàn)椴患拥脑挘琂Boss會(huì)在運(yùn)行一天左右的時(shí)間后迅速崩潰,上機(jī)課是,甚至出現(xiàn)過半個(gè)小時(shí)就崩潰的情況。
          之所以要用這個(gè)參數(shù),用swap支持服務(wù)器運(yùn)行,是因?yàn)榉噶讼旅娴腻e(cuò)誤:
             2. -Xss 15120k
          這使得JBoss每增加一個(gè)線程(thread)就會(huì)立即消耗15M內(nèi)存,而最佳值應(yīng)該是128K,默認(rèn)值好像是512k.
          這就是JBoss剛啟動(dòng)時(shí),還有200Mb內(nèi)存富余,但會(huì)在一個(gè)小時(shí)內(nèi)迅速用完,因?yàn)榉?wù)器的threads在迅速增加。前3天,每天都多吃80Mb左右的swap.在第四天開始穩(wěn)定下來。今年春節(jié)在外度假,觀察到了這個(gè)現(xiàn)象,卻不理解其原因:服務(wù)器在線程到達(dá)100之后,一般不再增加新的線程,新增加的在用完之后,會(huì)被迅速destroy,1.25-2.10所使用的線程基本是1.21- 1.23創(chuàng)建的,因此沒有再消耗新的內(nèi)存。服務(wù)器持續(xù)運(yùn)行時(shí)間,也因此大大超乎我5天的預(yù)期,到達(dá)了20天。
          修改:
          1.修改JAVA_OPTS,去掉+XX:AggressiveHeap,修改Xss。現(xiàn)在的JAVA_OPTS為:
          -Xms 520m -Xmx 900m -Xss 128k
          2.修改deploy/jbossweb-tomcat55.sar/service.xml
          將maxThreads根據(jù)目前的訪問量由默認(rèn)的250降為75,并使用jboss 4默認(rèn)未寫在標(biāo)準(zhǔn)service.xml里面而jboss 3寫入了的2個(gè)參數(shù): maxSparseThreads=55,minSparseThreads=25
          3.修改了oracle-ds.xml將最大連接數(shù)有150降為50.
          4.去掉了一些不用的服務(wù)。
          posted on 2007-05-30 11:01 MyBox 閱讀(801) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 亳州市| 孝义市| 大石桥市| 健康| 府谷县| 兴山县| 晋宁县| 吕梁市| 铜山县| 文登市| 象州县| 攀枝花市| 耿马| 宝鸡市| 贺兰县| 滦平县| 西宁市| 宜宾市| 岳池县| 武冈市| 新建县| 鞍山市| 教育| 曲水县| 沭阳县| 清苑县| 甘洛县| 原平市| 巴南区| 方山县| 漳平市| 庄浪县| 固阳县| 南靖县| 白玉县| 泾源县| 邯郸县| 龙岩市| 芜湖市| 当涂县| 岢岚县|