Knight of the round table

          wansong

          JBoss 內(nèi)存溢出處理辦法

          java.lang.OutOfMemoryError: PermGen space

           

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

           

          改正方法,在 run.bat 中加入:-Xms512m -Xmx1024m -XX:MaxNewSize=256m -XX:MaxPermSize=256m

           

          因為項目中引用了很多的 jar 包,而這些 jar 包中的 class 信息會被 JBoss class loader 加載到 PermGen space 區(qū)域,在 JVM 默認的情況下,該部分空間的大小只有 4M,在 jar 包非常多的情況下,顯然是不夠用的,所以通過 -XX:MaxPermSize=256m 指定最大值后即可解決問題。

           

          而當出現(xiàn)出現(xiàn)java.lang.OutOfMemoryError: Java heap space 這個異常時,通過調(diào)節(jié)-Xms512m -Xmx1024m這個就可以解決。

           

          另外,這個兩個參數(shù) -XX:+UseParallelGC -XX:+UseParallelOldGC 讓服務(wù)并行回收內(nèi)存空間。但是,這兩個參數(shù)配置上去以后,也會占用一定的內(nèi)存空間。

           

           

          本文轉(zhuǎn)自博客 http://www.aygfsteel.com/fiele/archive/2009/07/27/288609.html

          posted on 2011-08-07 13:14 w@ns0ng 閱讀(616) 評論(0)  編輯  收藏 所屬分類: jboss

          主站蜘蛛池模板: 阿坝| 印江| 和林格尔县| 呼和浩特市| 民县| 阿克| 铜陵市| 元阳县| 扎囊县| 高雄市| 滦南县| 巨鹿县| 东阿县| 集安市| 神池县| 佳木斯市| 喀喇沁旗| 乌恰县| 岑巩县| 游戏| 新野县| 友谊县| 高台县| 化州市| 文水县| 赫章县| 洪泽县| 昂仁县| 河北区| 绍兴市| 镇雄县| 土默特右旗| 犍为县| 营口市| 英山县| 子洲县| 措勤县| 华宁县| 山阳县| 仁寿县| 桓台县|