开发者社区> 问答> 正文

java.lang.OutOfMemoryError: PermGen space问题

今天又一家子公司开张,复制了一份启动没错。但是登陆一个后台,再登陆另一个就报错。什么原因呢?
环境:基于 struts,spring,hibernate jpa,freemaker,部署在tomcat6.35中。
java.lang.OutOfMemoryError: PermGen space

展开
收起
落地花开啦 2016-03-24 18:58:14 2175 0
3 条回答
写回答
取消 提交回答
  • 技术源于生活

    set JAVA_OPTS=-Xms512m -Xmx1024m -XX:PermSize=128m -XX:MaxNewSize=512m -XX:MaxPermSize=256m

    2019-07-17 19:13:17
    赞同 展开评论 打赏
  • 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)那么就会产生此错误信息了。
    解决方法: 手动设置MaxPermSize大小修改TOMCAT_HOME/bin/catalina.sh 在“echo "Using CATALINA_BASE: $CATALINA_BASE"”上面加入以下行: JAVA_OPTS="-server -XX:PermSize=64M -XX:MaxPermSize=128m

    2019-07-17 19:13:17
    赞同 展开评论 打赏
  • 喜欢技术,喜欢努力的人

    jar包太多了 缓冲区不够了.
    set JAVA_OPTS=-Xms512m -Xmx1024m -XX:PermSize=128m -XX:MaxNewSize=512m -XX:MaxPermSize=256m

    2019-07-17 19:13:16
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载