2011-04-25 37 views
2

我有一個應用程序在Weblogic 10應用程序服務器上運行。面對內部weblogic對象造成的內存泄漏問題

由於內部weblogic對象,我正面臨內存泄漏問題。以下類對象佔用大量內存並且未清除它。任何人都可以幫我弄清楚這些類是什麼意思,什麼可能導致泄漏?谷歌搜索沒有多大幫助。

weblogic.store.xa.internal.PersistentStoreXAImpl 

感謝, 希德

回答

3

這是啓用XA的持久存儲的內部WL類。如果您使用的是JDBC,那麼檢查您的數據庫是否已滿。如果您正在使用默認存儲或文件存儲,請檢查文件系統是否有錯誤或查看是否已滿。

不應該有很多這些。你在你的應用中使用JMS嗎?也許你也有一個配置問題。嘗試使用Oracle支持打開票證,或者如果您可以與我分享代碼和配置,您可以發送電子郵件至[email protected]。如果你有支持合同,你應該打開一個案子,而不是給我發電子郵件。如果您打開一個案例,請給我發送SR#,我可以查看它。如果你沒有支持合同,然後給我發電子郵件您的問題的細節...

+0

我們沒有與Oracle的支持合同。你能告訴我如何知道文件系統中是否有錯誤? 此外,沒有代碼給出錯誤,它是顯示此類佔用32%內存的堆轉儲。 – Sid 2011-04-25 21:37:20

+1

您使用的WLS版本以及操作系統是什麼? – 2011-04-26 15:44:29

+0

我們在Linux機器上使用Weblogic 10.3。 – Sid 2011-04-26 16:29:28

1

「XA」 通常是指 「兩階段提交」 給我。我認爲這是一個用於兩階段提交到持久存儲的JDBC驅動程序。

我不明白爲什麼這些不會被清理。你怎麼看堆。什麼工具告訴你這是泄漏的來源?難道你的課程沒有清理持久性資源?

+0

我在堆使用率爲87%時使用從Weblogic服務器提取的堆轉儲。我正在使用Eclipse Memory Analyzer Tool來分析堆轉儲。 當你說持久性資源時,是不是與數據庫有關?我很抱歉,我對Weblogic不太熟悉。 此外,如何在Web應用程序上下文中加載文件存儲? – Sid 2011-04-25 21:35:30

2

爲了增加Jeff's answer,這是the persistent store used by Weblogic各種subsytems如JMS,JTA,甚至Web服務和EJB定時器

如果你還沒有在您的實例配置這一點,所以平時應默認爲位於文件存儲在

bea_home\user_projects\domains\domain-name\servers\server-name\data\store\default 

所以,你可以檢查文件系統的磁盤空間問題在那裏。如果你可以負擔得起關閉你的Weblogic,你能清除上面的文件系統嗎 - 或者檢查對象存在的時間有多久?

1

當JDBC分析器被啓用時,我們曾經見過類似的問題。您是否在應用程序或WebLogic級別上啓用了任何分析功能?

+0

是的,我們正在使用Eclipe的內存分析工具(MAT) – Sid 2011-05-10 21:32:45