我们在Tomcat上部署了基于GWT的应用程序。每隔一天,应用程序就会崩溃并出现OutOfMemoryException。所以当它接近使用最大分配内存时,我已经开始接受应用程序的堆转储。
应用程序的行为如下,
堆转储,
我们使用jmap进行了tomcat进程的堆转储,以查看内存中的内容。使用带有堆转储的Eclipse Memory Analyzer获取以下图片。
我们可以看到堆中保留了大量的hashmap条目,保留大小为25k,其中大约有600万条。
问题:
到目前为止,我们在分析应用程序时使用了jconsole,jprofiler,MAT,jhat。我们不知道问题在哪里。
感谢您的帮助。