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条)

报告相同问题?

悬赏问题

  • ¥15 Jenkins+k8s部署slave节点offline
  • ¥15 微信小游戏反编译后,出现找不到分包的情况
  • ¥15 如何实现从tello无人机上获取实时传输的视频流,然后将获取的视频通过yolov5进行检测
  • ¥15 WPF使用Canvas绘制矢量图问题
  • ¥15 用三极管设计一个单管共射放大电路
  • ¥15 孟德尔随机化r语言运行问题
  • ¥15 pyinstaller编译的时候出现No module named 'imp'
  • ¥15 nirs_kit中打码怎么看(打码文件是csv格式)
  • ¥15 怎么把多于硬盘空间放到根目录下
  • ¥15 Matlab问题解答有两个问题