为什么Weblogic服务器不释放内存?

时间:2012-04-23 09:18:15

标签: weblogic-10.x weblogic11g

在我的组织中,我们通过3层应用系统进行数据输入操作。配置如下所示:

  • 操作系统:Linux
  • 应用程序软件使用:JSF(Java EE Framework技术)
  • 构建
  • 数据库:Oracle 11g

问题:对于每个条目,都会创建Enterprise Bean并将其保存在Weblogic Sever内的队列中。 Bean正被发送到数据库,但是没有释放用于bean的内存。由于持续一段时间,当命中达到峰值且内存使用量高达16GB或更多时,服务器挂起响应并且必须重新启动才能释放内存。

为了安全起见,我们将最大同时连接数设置为最大值。但这没有用。

可能是什么问题以及如何调整系统?

1 个答案:

答案 0 :(得分:1)

  

Bean正被发送到数据库但是用于存储器的内存   bean没有被释放。

由于某些资源(如数据库连接未在代码中关闭),此处可能存在内存泄漏。

拿一个Heap Dump into an HPROF file并使用Eclipse Memory Analyzer Tool或VisualVM运行它 或使用JConsole

监控此事