我的Web应用程序在tomcat服务器上运行,但是在som时间之后内存使用量开始增长并增长直到服务器停止运行。
这只发生在现场,当我尝试在本地重现这种情况时没有发生。我试图用JProfiler远程配置文件,并在服务器关闭之前发现了很多byte []。服务器在开始占用越来越多的内存后2-3分钟就停机了,所以我看不到哪些项目在代码中使用了byte [],因为Heap walk需要更多的时间(Web应用程序非常大)。
我将不胜感激任何帮助或建议。
答案 0 :(得分:0)
建议:在您的类中放置一些内存使用转储,其中包含HashMap,Vector(或这些集合的不同步版本)的缓存存储字段,通常是那些保留引用。我会放一个加号网址,它将转储我的变量,如:
Runtime.getRuntime()。callMemoryFunctionForgotName():用过的内存是270mb ...例如。 - 你应该看到WHEN正在增长,有时候有行动,其中一个已经泄漏。
所以我会分两步完成。