报错Exception in thread "http-8080-2" java.lang.outOfMemory:PermGen space-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

报错Exception in thread "http-8080-2" java.lang.outOfMemory:PermGen space

tomcat6.0中部署了一个工程(ams),启动后该工程可以被客户端正常访问。
可是当我在tomcat中再部署另外一个工程(wms),启动tomcat后,两个工程都可以访问,可是只要执行增删改操作就会报 Exception in thread "Atomikos:2" java.lang.OutOfMemoryError: PermGen space 然后两个工程都不能访问了。
找了解决方案:有的说java虚拟机永久保存区域小了 set JAVA_OPTS=-Xms256m -Xmx1024m 还有说什么lib下jar包大小超过了4M,可是lib下jar包随便一用也会超过4M啊!
然后那两个工程使用的基本框架是一样的,spring+hibernate+jta+struts2 jta中的属性我检查了的绝对不一样 就是那个uniqueResource在两个工程下是一样的 比如ams中有一个uniqueResource为NONXADBMS-sid12,wms也有一个uniqueResource为NONXADBMS-sid12,但是我想他们位于两个不同的工程下面应该不会有影响 ,而且我用另外一个与这两个工程框架相同的工程与他们随意搭配,事实证明没有影响。
所以不知道怎么办了,没有什么工作经验,望各路高手出手相救?

展开
收起
落地花开啦 2016-05-27 14:58:45 2526 0
2 条回答
写回答
取消 提交回答
  • 墨少伶
    技术源于生活

    -XX:PermSize=64M -XX:MaxPermSize=128m 设置方法区内存大小,可以一点一点的往大了调试试。

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

    内存溢出
    修改TOMCAT_HOME/bin/catalina.sh
    JAVA_OPTS="-server -XX:PermSize=64M -XX:MaxPermSize=128m

    2019-07-17 19:17:55
    赞同 展开评论 打赏
问答排行榜
最热
最新
相关电子书
更多
Delivering Javascript to World
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载