posts - 28,  comments - 13,  trackbacks - 0
          昨天查了一天的資料,運氣不錯,收獲不小,解決了一個老大難問題:JBoss內(nèi)存緊張的問題。
          這是一個困擾了我兩年整的問題,就是從前年這個時候,用JBoss 3.2.1架站以來,始終是一個大問題。不大的站點,1G的內(nèi)存都不夠用,經(jīng)常要消耗500Mb的交換內(nèi)存(swap)。
          原來是自己犯了非常低級的錯誤,不懂JAVA_OPTS各參數(shù)的含義造成的。
          之前的JAVA_OPTS是 -Xms 520m -Xmx 1220m -Xss 15120k +XX:AggressiveHeap
          這個JAVA_OPTS犯了2個致命的錯誤:
          1. +XX:AggressiveHeap會使得 Xms 1220m沒有意義。這個參數(shù)讓jvm忽略Xmx參數(shù),瘋狂地吃完一個G物理內(nèi)存,再吃盡一個G的swap。
          另外Xmx作為允許jvm使用的最大內(nèi)存數(shù)量,不應(yīng)該超過物理內(nèi)存的90%。
          而之所以使用了這個參數(shù),是因為不加的話,JBoss會在運行一天左右的時間后迅速崩潰,上機(jī)課是,甚至出現(xiàn)過半個小時就崩潰的情況。
          之所以要用這個參數(shù),用swap支持服務(wù)器運行,是因為犯了下面的錯誤:
          2. -Xss 15120k
          這使得JBoss每增加一個線程(thread)就會立即消耗15M內(nèi)存,而最佳值應(yīng)該是128K,默認(rèn)值好像是512k.
          這就是JBoss剛啟動時,還有200Mb內(nèi)存富余,但會在一個小時內(nèi)迅速用完,因為服務(wù)器的threads在迅速增加。前3天,每天都多吃80Mb左右的swap.在第四天開始穩(wěn)定下來。今年春節(jié)在外度假,觀察到了這個現(xiàn)象,卻不理解其原因:服務(wù)器在線程到達(dá)100之后,一般不再增加新的線程,新增加的在用完之后,會被迅速destroy,??褂玫哪詿嬉不厥樟恕R虼耍?旁詿航諂詡洌?鄄斕椒?衿髟?1.25-2.10所使用的線程基本是1.21-1.23創(chuàng)建的,因此沒有再消耗新的內(nèi)存。服務(wù)器持續(xù)運行時間,也因此大大超乎我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個參數(shù): maxSparseThreads=55,minSparseThreads=25
          3.修改了oracle-ds.xml將最大連接數(shù)有150降為50.
          4.去掉了一些不用的服務(wù)。
          posted on 2007-01-22 16:12 Lib 閱讀(3506) 評論(0)  編輯  收藏 所屬分類: 服務(wù)配置
          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345



          我的JavaEye博客
          http://lib.javaeye.com


          常用鏈接

          留言簿(2)

          隨筆分類

          文章分類

          FLASH

          Java

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 桦甸市| 佛学| 陆河县| 玉门市| 房山区| 尼勒克县| 理塘县| 左云县| 开平市| 克什克腾旗| 搜索| 甘洛县| 聂拉木县| 滦南县| 胶州市| 瑞金市| 泰安市| 石狮市| 乌拉特后旗| 宁远县| 垫江县| 洪湖市| 余江县| 盖州市| 呼图壁县| 科尔| 三亚市| 东阳市| 榆林市| 罗江县| 南靖县| 陇南市| 连云港市| 陇西县| 惠安县| 湘乡市| 伊宁县| 德惠市| 绩溪县| 上高县| 天等县|