2012-04-23 303 views
0

在我的組織中,我們通過三層應用系統進行數據輸入操作。配置如下圖所示:爲什麼Weblogic服務器不釋放內存?

  • 操作系統:Linux
  • 應用軟件使用已建成:JSF(在Java EE框架技術)
  • 數據庫:的Oracle 11g

的問題:對於每個條目,創建一個Enterprise Bean並保存在Weblogic Sever中的隊列中。 Bean被髮送到數據庫,但用於該bean的內存未被釋放。因此,在一定時間內,當命中數達到峯值並且內存使用達到16GB或更多時,服務器會掛起響應,並且必須重新啓動才能釋放內存。

爲了安全起見,我們將最大併發連接設置爲最大。但是這沒有幫助。

什麼可能是問題以及如何調整系統?

回答

1

Bean正在發送到數據庫,但用於 bean的內存未被釋放。

可能的內存泄漏,因爲某些資源,比如數據庫連接這裏不是在代碼被關閉。

乘坐Heap Dump into an HPROF file並運行此使用Eclipse的內存分析工具或VisualVM 或使用監視此JConsole