java.lang.OutOfMemoryError: Java heap space

cpfirst 2015-05-18 10:24:30
现象1:tomcate出现假死,tomcate开着,但终端连接不上,tomcate上无反应,需要重启tomcate一次到两次,后台有个c#监控程序,会监视tomcate,如果发现tomcate异常关闭,会让它自动重启,同时每天指定时间自动重启,但是有时就重启后不到半小时,所有业务链接不上。需要人工重启。是不是重启速度太快,还没有完全释放缓存?

在网上看到的方法,用了之后还有假死出现。
在catalina.bat的第一行增加:
set JAVA_OPTS=-Xms64m -Xmx256m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m

在catalina.sh的第一行增加:
JAVA_OPTS=-Xms64m -Xmx256m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m

服务器的内存是32G,sql2008占掉10G,以上怎么设置大小,比较合理?

请协助!
...全文
137 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
S117 2015-05-18
  • 打赏
  • 举报
回复
你应该在内存溢出时,你应该分享下Java dump 文件,看看是什么原因造成的
andre374 2015-05-18
  • 打赏
  • 举报
回复
仅看异常的话,内存溢出,而且是java代码中有问题。 建议增大JAVA_OPTS的内存配置,然后检查java代码,看看是否有一次性取大量数据,或者死循环、大量递归,或者其他导致jvm无法回收内存的问题等。

58,454

社区成员

发帖
与我相关
我的任务
社区描述
Java Eclipse
社区管理员
  • Eclipse
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧