tomcat中的内存泄漏

时间:2012-08-24 19:50:04

标签: tomcat memory-leaks

我的Web应用程序在tomcat服务器上运行,但是在som时间之后内存使用量开始增长并增长直到服务器停止运行。

这只发生在现场,当我尝试在本地重现这种情况时没有发生。我试图用JProfiler远程配置文件,并在服务器关闭之前发现了很多byte []。服务器在开始占用越来越多的内存后2-3分钟就停机了,所以我看不到哪些项目在代码中使用了byte [],因为Heap walk需要更多的时间(Web应用程序非常大)。

我将不胜感激任何帮助或建议。

1 个答案:

答案 0 :(得分:0)

建议:在您的类中放置一些内存使用转储,其中包含HashMap,Vector(或这些集合的不同步版本)的缓存存储字段,通常是那些保留引用。我会放一个加号网址,它将转储我的变量,如:

Runtime.getRuntime()。callMemoryFunctionForgotName():用过的内存是270mb ...例如。 - 你应该看到WHEN正在增长,有时候有行动,其中一个已经泄漏。

  • 当你检测到带有action9的link43时会产生内存泄漏而不是简单:)
  • 只需添加一些hashMap.count()或size()(也忘了这一点,lol)到logg,你会看到20个集合中的哪一个正在增加而不是减少。希望您能访问实时服务器日志。

所以我会分两步完成。