bolang102020 2011-09-29 14:17
浏览 183
已采纳

内存溢出

项目S2SH做的,部署到tomcat5.5下面,差不多2天就内存溢出。监控了一个早上,发现内存一直处于增长不减的状态。
现在已经快接近使用1个G了,但是在线人数才20个左右。也就是说从昨天晚上一直到现在内存一直没有减少过。java的垃圾回收似乎没有起到任何作用。也就难怪了。物理内存1.5G。启动的时候占用大概160M的内存,剩余可支配内存1个多G,现在还剩余200多M的可用内存,而在线人数却没几个。
我猜测是垃圾回收失败造成的。溢出报错是说heap溢出。我改了xms=1200m和xmx1200m,maxpermsize=512m。
请问这下这种情况怎么处理?

  • 写回答

3条回答 默认 最新

  • _1_1_7_ 2011-09-29 15:51
    关注

    垃圾回收是回收不可达对象,如果对象一直存在强引用,收回不了。
    内存有增无减更说明是代码有问题。检查有没有大的数据量,有没有滥用缓存,有没有存在无限递归调用;
    heap溢出很可能就是无限递归,死循环了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥50 寻找一位有逆向游戏盾sdk 应用程序经验的技术
  • ¥15 请问有用MZmine处理 “Waters SYNAPT G2-Si QTOF质谱仪在MSE模式下采集的非靶向数据” 的分析教程吗
  • ¥50 opencv4nodejs 如何安装
  • ¥15 adb push异常 adb: error: 1409-byte write failed: Invalid argument
  • ¥15 nginx反向代理获取ip,java获取真实ip
  • ¥15 eda:门禁系统设计
  • ¥50 如何使用js去调用vscode-js-debugger的方法去调试网页
  • ¥15 376.1电表主站通信协议下发指令全被否认问题
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
  • ¥15 复杂网络,变滞后传递熵,FDA