码迷,mamicode.com
首页 > 其他好文 > 详细

剖析OutOfMemoryError: PermGen space产生原因及解决方法

时间:2015-11-04 17:56:10      阅读:278      评论:0      收藏:0      [点我收藏+]

标签:permgen space   jvm   tomcat   class   

        PermGen space的全称是Permanent Generation space,是指内存的永久保存区域。OutOfMemoryError: PermGen ; 这一区域用于存放Class和Meta的信息。

        产生原因:


         Class在被加载的时候被放入PermGen space区域,它和和存放Instance的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对PermGen space进行清理,所以如果应用会加载很多class的话,就很可能出现PermGen space错误。

 

         这种错误常见在web服务器对JSP进行pre compile的时候。

    解决方法:就是加大将PermGen space区域的内存,也就是把MaxPermSize的大小调大如下:
    -Xms256m -Xmx256m -XX:MaxNewSize=256m -XX:MaxPermSize=256m;

        如果是tomcat报这个错:

      

    在# OS specific support. $var _must_ be set to either true or false.上面加入以下行:
    JAVA_OPTS="-server -XX:PermSize=64M -XX:MaxPermSize=128M";

版权声明:本文为博主原创文章,未经博主允许不得转载。

剖析OutOfMemoryError: PermGen space产生原因及解决方法

标签:permgen space   jvm   tomcat   class   

原文地址:http://blog.csdn.net/mr_smile2014/article/details/49640277

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!