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

          主站蜘蛛池模板: 鄂托克前旗| 大英县| 米林县| 鹰潭市| 阿拉善左旗| 梨树县| 都匀市| 油尖旺区| 潞西市| 图木舒克市| 灵山县| 精河县| 绥化市| 云和县| 湖州市| 满城县| 中宁县| 武山县| 宜兰县| 勐海县| 香河县| 尚义县| 札达县| 上栗县| 和顺县| 太白县| 武宁县| 拉萨市| 安国市| 偃师市| 集贤县| 随州市| 高淳县| 浦城县| 乌兰县| 吴江市| 博兴县| 通渭县| 东乡族自治县| 水城县| 岳阳县|