在我的组织中,我们通过3层应用系统进行数据输入操作。配置如下所示:
问题:对于每个条目,都会创建Enterprise Bean并将其保存在Weblogic Sever内的队列中。 Bean正被发送到数据库,但是没有释放用于bean的内存。由于持续一段时间,当命中达到峰值且内存使用量高达16GB或更多时,服务器挂起响应并且必须重新启动才能释放内存。
为了安全起见,我们将最大同时连接数设置为最大值。但这没有用。
可能是什么问题以及如何调整系统?
答案 0 :(得分:1)
Bean正被发送到数据库但是用于存储器的内存 bean没有被释放。
由于某些资源(如数据库连接未在代码中关闭),此处可能存在内存泄漏。
拿一个Heap Dump into an HPROF file并使用Eclipse Memory Analyzer Tool或VisualVM运行它 或使用JConsole
监控此事