您的位置:首页 > 编程语言 > Java开发

将应用部署到jboss,java.lang.OutOfMemoryError: PermGen space解决方法

2014-10-31 19:45 661 查看
将在windows下的java web应用放到linux下,报错java.lang.OutOfMemoryError: PermGen space

明显内存溢出错误,心想在windows下都没报过这个错,在linux服务器怎么会报错那?

搜索发现:PermGen space的全称是Permanent Generation space,是指内存的永久保存区域OutOfMemoryError: PermGen space从表面上看就是内存益出,解决方法也一定是加大内存。说说为什么会内存益出:这一部分用于存放Class和Meta的信息,Class在被
Load的时候被放入PermGen space区域,它和和存放Instance的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对PermGen space进行清理,所以如果你的APP会LOAD很多CLASS的话,就很可能出现PermGen space错误。

解决方法:

vi /jboss/bin/run.bat

找到:

set J***A_OPTS=%J***A_OPTS% -Xms128m -Xmx512m -XX:MaxPermSize=256m

改为:

set J***A_OPTS=%J***A_OPTS% -Xms512m -Xmx512m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=512m

保存退出

重启下jboss
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: