zoukankan      html  css  js  c++  java
  • eclipse运行报java.lang.OutOfMemoryError: PermGen space解决方法

    一、在window下eclipse里面Server挂的是tomcat6,一开始还是以为,tomcat配置的问题,后面发现,配置了tomcat里面的catalina.bat文件,加入 
    set JAVA_OPTS=-Xms512m -Xmx1024m -XX:PermSize=256M -XX:MaxNewSize=108m -XX:MaxPermSize=512m 
    ,eclipse跑起来还是报java.lang.OutOfMemoryError: PermGen space。 
    后面在网上找了资料,要在eclipse里面配置才可以。 
    点击“Run” – “Run Configurations…”,选中Tomcat Server,进入Arguments分页,在VM arguments中加入提升初始分配空间的参数 
    第一步: 
    这里写图片描述

    第二步:加入参数 
    -Xms256m -Xmx512m -XX:PermSize=256m -XX:MaxPermSize=256m 

    -Xms512m -Xmx768m -XX:PermSize=256m -XX:MaxPermSize=512m
    这里写图片描述

    1、PermGen space简介

    PermGen space的全称是Permanent Generation space,是指内存的永久保存区域OutOfMemoryError: PermGen space从表面上看就是内存益出,解决方法也一定是加大内存。

    说说为什么会内存益出: 
    (1)这一部分用于存放Class和Meta的信息,Class在被 Load的时候被放入PermGen space区域,它和和存放Instance的Heap区域不同。 
    (2) GC(Garbage Collection)不会在主程序运行期对PermGen space进行清理,所以如果你的APP会LOAD很多CLASS的话,就很可能出现PermGen space错误。这种错误常见在web服务器对JSP进行pre compile的时候。

    如果你的WEB APP下都用了大量的第三方jar,其大小超过了jvm默认的大小(4M)那么就会产生此错误信息了。 
    建议:将相同的第三方jar文件移置到tomcat/shared/lib目录下,这样可以减少jar 文档重复占用内存

    二、在linux下部署的时候要修改catalina.sh 
    JAVA_OPTS=”$JAVA_OPTS -server -Xms1536m -Xmx1536m -XX:PermSize=256m -XX:MaxPermSize=512m”

  • 相关阅读:
    HDU 2116 Has the sum exceeded
    HDU 1233 还是畅通工程
    HDU 1234 开门人和关门人
    HDU 1283 最简单的计算机
    HDU 2552 三足鼎立
    HDU 1202 The calculation of GPA
    HDU 1248 寒冰王座
    HDU 1863 畅通工程
    HDU 1879 继续畅通工程
    颜色对话框CColorDialog,字体对话框CFontDialog使用实例
  • 原文地址:https://www.cnblogs.com/zsaqc/p/7953422.html
Copyright © 2011-2022 走看看