【问题标题】:Tomcat7 detect Memory LeakTomcat7 检测内存泄漏
【发布时间】:2013-11-14 06:04:18
【问题描述】:

我使用 vaadin 6 做了一个简单的应用程序,其中包含一个 callendar,人们可以在那里进行一些约会。

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

截图如下:

如果我进入 tomcat 并测试我是否有内存泄漏:

以下 Web 应用程序已停止(重新加载、取消部署),但它们的 以前运行的类仍然加载到内存中,从而导致内存 泄漏(使用分析器确认):
/我的应用程序
/我的应用程序
/我的应用程序
/我的应用程序
/myapp

当我安装tomcat时,我只是进行了全新安装,并更改了端口以便我可以在端口80上连接到它,我还添加了一些用户以便我可以连接到网络管理器。就这些了

我的代码中是否有什么东西或者我没有正确设置 tomcat 导致了这个内存泄漏?

【问题讨论】:

  • 125MB 内存?对于应用服务器?

标签: java tomcat memory memory-leaks vaadin


【解决方案1】:

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

【讨论】:

  • 我在我的应用程序中使用了一个私有静态最终对象。从我在那里读到的内容来看,这就是问题所在。我不知道应用程序关闭后如何释放内存。你能帮我解决这个问题吗?
  • 你可以从上面的链接得到修复。尽量避免在服务器中重新启动您的应用或重新部署您的应用。
猜你喜欢
  • 2012-07-16
  • 1970-01-01
  • 1970-01-01
  • 2012-01-22
  • 2015-02-28
  • 1970-01-01
相关资源
最近更新 更多