小菜毛毛技術(shù)分享

          與大家共同成長

            BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
            164 Posts :: 141 Stories :: 94 Comments :: 0 Trackbacks

          問題表現(xiàn):

          當(dāng)用戶執(zhí)行一個大數(shù)據(jù)的應(yīng)用時(凈字節(jié)碼量約為5M)時,系統(tǒng)會提示出錯:

          前臺錯誤為:HTTP Status 500-Dispatch[EAITool] to method listCurTree retrun an exception

          (以下省略)

          ………………………………………………………

          ………………………………………………………

          后臺錯誤為:java.lang.OutOfMemoryError: unable to create new native thread
                  at java.lang.Thread.start(Native Method)
                  at org.apache.catalina.loader.WebappLoader.notifyContext(WebappLoader.ja
          va:847)

          (以下省略)

          ………………………………………………………

          ………………………………………………………

          問題分析:

             由于TOMCAT內(nèi)存溢出而引發(fā)的問題,主要原因是JVM的虛擬內(nèi)存默認(rèn)為128M,當(dāng)超過這個值時就把先前占用的內(nèi)存釋放,而導(dǎo)致好象TCP/IP丟包的假象,出現(xiàn)HTTP500的錯誤?! ?/span>
                解決方法主要是加大TOMCAT可利用內(nèi)存,并在程序當(dāng)中加大內(nèi)存使用。

          解決方法:

          方法:加大TOMCAT可利用內(nèi)存:
            在TOMCAT的目錄下,也就是在TOMCAT41/bin/catalina.bat文件最前面加入
            set JAVA_OPTS=-Xms800m -Xmx800m
            表現(xiàn)效果是當(dāng)你啟動TOMCAT時,系統(tǒng)內(nèi)存會增加近800M使用

          操作方法:
            1)、先關(guān)掉WINDOWS服務(wù)當(dāng)中的TOMCAT4服務(wù)。
            2)、再找到TOMCAT/BIN目錄下startup.bat,雙擊打開它,你會發(fā)現(xiàn)現(xiàn)WINDOWS內(nèi)存占用會增加近800M。
            3)、執(zhí)行程序,因?yàn)槭?/span>TOMCAT重新編譯程序,所以第一次會比較慢。

          結(jié)論:

          經(jīng)過測試,我們得出如下數(shù)據(jù):

          當(dāng)系統(tǒng)傳輸約2000條數(shù)據(jù)時,大約近12M的凈數(shù)據(jù)(不壓縮時),系統(tǒng)輔助運(yùn)行的內(nèi)存大約占用150M左右的空間,也就是近200M的內(nèi)存占用,而我們擴(kuò)大了近800MJAVA內(nèi)存使用,這對于業(yè)務(wù)本身來說是足夠了。所以你們不用擔(dān)心大數(shù)據(jù)量的傳遞問題。

          基于JAVA虛擬機(jī)的原理,JAVA自動有垃圾回收機(jī)制,也就是在你對一些內(nèi)存長時間不使用時(近2分鐘,取決于使用頻度和優(yōu)先級等),就會自動垃圾回收,從而釋放不用的內(nèi)存占用。

          posted on 2010-01-18 14:05 小菜毛毛 閱讀(1255) 評論(0)  編輯  收藏 所屬分類: 應(yīng)用服務(wù)器
          主站蜘蛛池模板: 故城县| 叙永县| 永胜县| 长沙市| 池州市| 太保市| 南澳县| 宁波市| 平江县| 马关县| 镇原县| 贵德县| 台东县| 剑川县| 射洪县| 嘉鱼县| 望江县| 枣强县| 共和县| 平乐县| 龙岩市| 新巴尔虎左旗| 秦安县| 伊宁市| 莱西市| 阳原县| 哈密市| 临沂市| 轮台县| 炎陵县| 灵武市| 利津县| 当雄县| 香河县| 沛县| 新密市| 广丰县| 枣阳市| 辉县市| 远安县| 临沂市|