JBOSS 點(diǎn)滴

          豐豐的博客

          JBOSS內(nèi)存溢出處理

          JBoss內(nèi)存溢出處理 原文來自:http://jboss.cn/read.php?tid=250

          前幾天公司一個(gè)項(xiàng)目的服務(wù)器壞了,就換了一個(gè)備份服務(wù)器頂替一下,但是沒有跑一會(huì)就宕機(jī)了,一直報(bào)java.lang.OutOfMemoryError。。。。一看到這里,就知道是內(nèi)存溢出,但是JBoss的內(nèi)存配置已經(jīng)達(dá)到1024M了,而且對JBoss內(nèi)存的監(jiān)測結(jié)果看,并不高,怎么會(huì)死機(jī)呢,好奇怪。搞了半天還是沒有結(jié)果。郁悶~~~~

               到了最后,已經(jīng)絕望了我,打算換一個(gè)JBoss版本,再換一個(gè)JDK,看看是不是這些的問題。但是再換以前,我就把日志又重新看了一次,發(fā)現(xiàn)一個(gè)問題。報(bào)的java.lang.OutOfMemoryError后面還有內(nèi)容:java.lang.OutOfMemoryError: PermGen space,這個(gè)好像和java.lang.OutOfMemoryError: Java heap space這個(gè)不一樣。最后找了一下這個(gè)異常!

          PermGen space的全稱是Permanent Generation space,是指內(nèi)存的永久保存區(qū)域。這一部分用于存放Class和Meta的信息,Class在被 Load的時(shí)候被放入PermGen space區(qū)域,它和和存放Instance的Heap區(qū)域不同,GC(Garbage Collection)不會(huì)在主程序運(yùn)行期對PermGen space進(jìn)行清理,所以如果你的APP會(huì)LOAD很多CLASS的話,就很可能出現(xiàn)PermGen space錯(cuò)誤。這種錯(cuò)誤常見在web服務(wù)器對JSP進(jìn)行pre compile的時(shí)候。

          改正方法,在 run.bat 中加入:-Xms512m -Xmx1024m -XX:MaxNewSize=256m -XX:MaxPermSize=256m
          因?yàn)轫?xiàng)目中引用了很多的 jar 包,而這些 jar 包中的 class 信息會(huì)被 JBoss 的 class loader 加載到 PermGen space 區(qū)域,在 JVM 默認(rèn)的情況下,該部分空間的大小只有 4M,在 jar 包非常多的情況下,顯然是不夠用的,所以通過 -XX:MaxPermSize=256m 指定最大值后即可解決問題。

          我的JBoss里面裝載了6個(gè)應(yīng)用,jar包和class加起來有100m左右,配上這個(gè)參數(shù)后,一切OK,最后服務(wù)器修好以后,發(fā)現(xiàn),這個(gè)里面的JBoss也是這么來配置的,哎~~看來以后備份,最好還是吧JBoss一起備份出來吧!
          而當(dāng)出現(xiàn)出現(xiàn) java.lang.OutOfMemoryError: Java heap space 這個(gè)異常時(shí),通過調(diào)節(jié)-Xms512m -Xmx1024m這個(gè)就可以解決。
          另外,這個(gè)兩個(gè)參數(shù) -XX:+UseParallelGC -XX:+UseParallelOldGC 讓服務(wù)并行回收內(nèi)存空間。但是,這兩個(gè)參數(shù)配置上去以后,也會(huì)占用一定的內(nèi)存空間。

          posted on 2009-07-27 16:40 半導(dǎo)體 閱讀(3918) 評(píng)論(0)  編輯  收藏 所屬分類: JBOSS應(yīng)用服務(wù)器設(shè)置

          主站蜘蛛池模板: 佛冈县| 荥经县| 横峰县| 十堰市| 克拉玛依市| 开远市| 博白县| 平陆县| 龙里县| 建德市| 蒲城县| 诸暨市| 泗洪县| 姚安县| 民勤县| 三河市| 新郑市| 临澧县| 永康市| 弋阳县| 开化县| 鸡泽县| 绥中县| 贵州省| 景泰县| 大渡口区| 丽江市| 宜州市| 儋州市| 全椒县| 利津县| 宝应县| 博野县| 马公市| 文山县| 静海县| 郎溪县| 江孜县| 本溪市| 广州市| 镇原县|