PermGen space的全称是Permanent Generation space,是指内存的永久保存区域,这一部分用于存放Class和Meta的信息,Class在被 Load的时候被放入PermGen space区域,它和存放Instance的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对PermGen space进行清理,所以如果你的APP会LOAD很多CLASS的话,就很可能出现PermGen space错误。

工具/原料

  • 安装有windows操作系统的电脑一台

方法/步骤


  1. 1
    网上有很多资料说:
  2. 1在tomcat/bin目录下的catalina.bat,编辑它修改这行set JAVA_OPTS=-Xms1024m -Xmx1024m -XX:PermSize=512M -XX:MaxPermSize=512m
    参数      描述
    -Xms      JVM初始化堆的大小
    -Xmx      JVM堆的最大值
    可是我们发现有些朋友(安装版)根本没有TOMCAT_HOME/bin/catalina.bat该文件。
    因为:Tomact安装有两种方式,
    一种是绿色版:用上面的方法可以解决。
    一种是安装版: 像平常安装软件时安装。安装版是没有该文件的。下面介绍安装版的两种方法。
  3. 2
    安装版解决方法1:
     Myeclipse->Window-->preferences->tomcat(找到你运行的tomcat版本)
    ->JDK -> 在Optional Java VM arguments中填入扩充缓冲区参数.
    已解决PermGen space_java
  4. 3
    已解决PermGen space_jvm_02
  5. 4
    输入:-Xms256M -Xmx512M -XX:PermSize=256m -XX:MaxPermSize=512m
    也可以设置更大一点:set JAVA_OPTS=-Xms1024m -Xmx1024m -XX:PermSize=512M -XX:MaxPermSize=512m
    已解决PermGen space_java_03​END

方法/步骤2


  1. 1
    找到tomact安装的bin目录,双击Tomact7w.exe文件。
    已解决PermGen space_jvm_04
  2. 2
    如图,点击java
    已解决PermGen space_java_05
  3. 3
    修改相应值即可
    已解决PermGen space_jvm_06​END

注意事项

  • 此方法只适用于windows操作系统