2013-11-03 127 views
1

我做了一个简单的应用程序使用vaadin 6女巫包含一个callendar和人们可以在那里做一些约会。Tomcat7检测内存泄漏

问题是,当多于10人连接时,内存使用率为95%(服务器上有125MB,运行Ubuntu Server 32位)。

以下是截图:enter image description here

如果我进入Tomcat和测试,如果FOMR内存泄漏,我得到:

下面的Web应用程序被停止(重新加载,未展开的),但他们从 类先前运行仍然装载在存储器中,从而导致存储器 泄漏(使用一个分析器确认):
/MyApp的
/MyApp的
/MyApp的
/MYAPP
/MYAPP

当我安装tomcat的我只是做了一个干净的安装,并改变了端口,这样我就可以连接到它的80端口,我也添加了一些用户,这样我可以连接到网站管理员。这是全部

在我的代码中可以有东西,或者我没有正确设置导致此内存泄漏的Tomcat吗?

+0

125MB的RAM?对于应用程序服务器? – chrylis

回答

5

你得到这个是因为静态变量。当你重新启动服务器或应用程序时,静态变量将不会卸载一段时间。这个链接将帮助你了解这个:http://frankkieviet.blogspot.ca/2006/10/classloader-leaks-dreaded-permgen-space.html

+0

我在我的应用程序中使用了一个私有的静态最终对象。从我在那里读到的东西,这是什么情况下的问题。我不知道如何在应用程序关闭后释放内存。你能为我解决这个问题吗? – Mihai

+1

你可以从上面的链接获得修复。尽量避免在服务器中重新启动您的应用或重新部署您的应用。 –