tomcat中的内存泄漏

tomcat中的内存泄漏,tomcat,memory-leaks,Tomcat,Memory Leaks,我的web应用程序在tomcat服务器中工作,但在som时间之后,内存使用量开始不断增长,直到服务器停机 这只发生在live上,当我试图在本地重现这种情况时并没有发生。我试图用JProfiler远程评测,在服务器关闭之前发现了大量字节[]。服务器在开始占用越来越多的内存后2-3分钟就停机了,所以我看不到哪些项在代码中使用字节[],因为堆行走占用更多的时间web应用非常大 如果有任何帮助或建议,我将不胜感激 建议:在类中放置一些内存使用转储,这些类中的缓存存储字段包含HashMap、Vector或

我的web应用程序在tomcat服务器中工作,但在som时间之后,内存使用量开始不断增长,直到服务器停机

这只发生在live上,当我试图在本地重现这种情况时并没有发生。我试图用JProfiler远程评测,在服务器关闭之前发现了大量字节[]。服务器在开始占用越来越多的内存后2-3分钟就停机了,所以我看不到哪些项在代码中使用字节[],因为堆行走占用更多的时间web应用非常大


如果有任何帮助或建议,我将不胜感激

建议:在类中放置一些内存使用转储,这些类中的缓存存储字段包含HashMap、Vector或这些集合的非同步版本,通常是那些保留引用的集合。然后我会加上一个url,它将转储我的变量,如:

Runtime.getRuntime.callMemoryFunctionForgotName:使用的内存为270mb。。。例如。 -在这里你应该看到什么时候是增长的,随着时间的推移有行动,其中一个已经泄漏

当您检测到带有action9的link43时,将产生内存泄漏: 只需添加一些hashMap.count或size也忘记了这一点,lol to logg,然后您将看到20个集合中的哪一个正在增加而不是减少。希望您能够访问实时服务器日志。
因此,我将分两步进行。

建议:在类中放置一些内存使用转储,其中是缓存存储字段,其中包含HashMap、Vector或这些集合的非同步版本,通常是那些保留引用的集合。然后我会加上一个url,它将转储我的变量,如:

Runtime.getRuntime.callMemoryFunctionForgotName:使用的内存为270mb。。。例如。 -在这里你应该看到什么时候是增长的,随着时间的推移有行动,其中一个已经泄漏

当您检测到带有action9的link43时,将产生内存泄漏: 只需添加一些hashMap.count或size也忘记了这一点,lol to logg,然后您将看到20个集合中的哪一个正在增加而不是减少。希望您能够访问实时服务器日志。 因此,我将分两步执行。

Add-XX:+HeapDumpOnOutOfMemoryError-XX:HeapDumpPath=/tmp到您的java参数,等待在JProfilerAdd中转储和导入-XX:+HeapDumpOnOutOfMemoryError-XX:HeapDumpPath=/tmp到您的java参数,等待在JProfiler中转储和导入