zoukankan      html  css  js  c++  java
  • tomcat:PermGen space

    1、

      启动项目时,报如下错误:java.lang.OutOfMemoryError: PermGen space

      原因: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的时候。如果你的WEB APP下都用了大量的第三方jar, 其大小超过了jvm默认的大小(4M)那么就会产生此错误信息了

    2、解决方式:

      1、 手动设置MaxPermSize大小 修改TOMCAT_HOME/bin/catalina.bat(Linux下为catalina.sh),在Java代码

      “echo "Using CATALINA_BASE: $CATALINA_BASE"”上面加入以下行: set JAVA_OPTS=%JAVA_OPTS% -server -XX:PermSize=128M -XX:MaxPermSize=512m

      “echo "Using CATALINA_BASE: $CATALINA_BASE"”上面加入以下行: set JAVA_OPTS=%JAVA_OPTS% -server -XX:PermSize=128M -XX:MaxPermSize=512m

       catalina.sh下为: Java代码 JAVA_OPTS="$JAVA_OPTS -server -XX:PermSize=128M -XX:MaxPermSize=512m" JAVA_OPTS="$JAVA_OPTS -server -XX:PermSize=128M -XX:MaxPermSize=512m" 

      2(另一种)、

      在catalina.bat的第一行增加: 

        Java代码 :set JAVA_OPTS=-Xms64m -Xmx256m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m  

      在catalina.sh的第一行增加: 

        Java代码 :JAVA_OPTS=-Xms64m -Xmx256m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m

    工作小总结,有错请指出,谢谢。
  • 相关阅读:
    PHP 处理接口保证数据安全性
    zeromq使用模式实验总结
    文件描述符设置
    配置openssh实现sftp远程文件上传
    系统信号(signal)与其他(定时器,退出清理等)
    Python Subprocess Popen 管道阻塞问题分析解决
    fastcgi协议之一:定义
    命名空间与自动加载机制
    PSR规范
    细说php的异常和错误处理机制
  • 原文地址:https://www.cnblogs.com/zilanghuo/p/5386569.html
Copyright © 2011-2022 走看看