日期:2014-05-20  浏览次数:20960 次

tomcat 内存暴涨求救
系统的环境是
tomcat5.5
jdk5.0
win2000
8g内存 
出现的问题:
tomcat启动之后,用户访问一段时间,一开始内存是稳定的,没有什么大的变化,之后(这段时间不固定)tomcat内存开始暴涨,直到长满tomcat的最大内存限制。暴涨的时间很快,大约在5分钟之内就会占满内存。

存在数据库操作,数据库为Oracle

不知道是什么原因,大家给分析分析?谢谢啦

------解决方案--------------------
应该是与服务器配置无关
典型的java内存溢出问题
请不要过于相信java的垃圾回收机制,还是多从代码查查
请根据一下文章对照检查下你的代码
http://www.jsprun.net/thread-13323-1-1.html

<------------------------------------------->
最棒的免费的开源Java社区软件系统http://www.jsprun.net



------解决方案--------------------
先用jconsole检测一下在下定论。

------解决方案--------------------
你的应用里面应该有,类似定时处理的程序吧。比如定时读取配置文件,清理自身tmp文件等等。

当你这类程序,在某一特定情况下执行出现死循环(方法循环调用也是),而且你又使用static的东西作为
数据存放的话。。。。
呵呵 出现你这种情况很正常。。。。
------解决方案--------------------
做两个heapdump比较看看是那些内存对象在增长在确定那块儿的代码有问题了
------解决方案--------------------
探讨
现在Tomcat内存暴涨有个很奇怪的现象,在没有任何用户访问的情况下,内存依然会持续增加,差不多一天出现一次。我昨天晚上,23点30,重启Tomcat,今天早上过来,通过日志发现,从昨天晚上23点30到今天早上8点,没有任何人访问,没有任何操作,但内存依然持续上涨,达到1.5G左右,正常情况下不超过200M。而在8点多钟,有用户开始进行了操作,内存却突然被回收,下降到500M左右

这是怎么回事。。