java.lang.OutOfMemoryError PermGen space及其解决方法

Tomcat也是类似的解决方法
-----------------------------------------------------------------------------------------------------------------------------------------------
错误现象,eclipse插件配置weblogic9.2,启动后进入 console控制台发布程序时,后台报错,出现类型如下错误

  
 <2008-8-28 下午04时02分47秒 CST> <Error> <netuix> <BEA-423143> <A javax.servlet.ServletException occurred while rendering JSP /framework/skeletons/default/gridlayout.jsp, for control com.bea.netuix.servlets.controls.layout.GridLayout indicating the exception most likely originated in the JSP page. The error was: javax.servlet.ServletException: PermGen space The underlying cause was: java.lang.OutOfMemoryError: PermGen space
java.lang.OutOfMemoryError: PermGen space
 

    注意上表中红色标记部分,内存溢出。

    我的笔记本有2、3G怎么还会内存溢出呢?不是说你笔记本的内存不够用,是指超过了jvm默认的大小(4M)那么就会产生此错误信息了。

   解释一下(网上看的):PermGen space的全称是Permanent Generation space,是指内存的永久保存区域, 这块内存主要是被JVM存放Class和Meta信息的,Class在被Loader时就会被放到PermGen space中, 它和存放类实例(Instance)的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对 PermGen space进行清理,所以如果你的应用中有很多CLASS的话,就很可能出现PermGen space错误, 这种错误常见在web服务器对JSP进行pre compile的时候。

   解决的办法:

    Eclipse –preferences-weblogic的javaVM option点add按钮,增加一行:

    -XX:MaxPermSize=128m(这个是按照内存1G配置,如果你的内存足够大,你可以设置大于128)
     有人说需要修改.sh文件,其实我觉得不必要,直接在eclipse的weblogic插件下修改,显得更为方便。

     重新启动weblogic,是否发现之前的错误飞了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值