2011-04-25 85 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