websphere内存泄漏的原因ValueHandlerPool(疑似)

时间:2009-06-26 13:01:00

标签: java oracle memory-leaks websphere

我们遇到OutofMemory错误。 我使用Eclipse Memory Analyzer分析了.spd文件,即websphere转储。

MAT的泄漏嫌疑人报告提供以下信息

由“com.ibm.oti.vm.BootstrapClassLoader @ 0x466578”加载的“com.ibm.rmi.io.ValueHandlerPool”类占用68,734,136(50.25%)个字节。内存在“com.ibm.oti.vm.BootstrapClassLoader @ 0x466578”加载的“java.util.Hashtable $ Entry []”的一个实例中累积。

但是我无法将此漏洞嫌疑人与任何应用程序类相关联。没有明显的联系。

任何指针如何进行分析?

环境:我们在Windows上运行的jdk 1.4.2上使用Websphere 6.1。 DB是oracle 10gR1。 该应用程序是一个struts-Ejb应用程序。

2 个答案:

答案 0 :(得分:0)

尝试'向下钻取'Entry[]实例。它应该显示条目是什么。

在一个不相关的说明中,包com.ibm.rmi.io暗示它可能与RMI相关 - 包含的EJB。

答案 1 :(得分:0)

另请查看该哈希表的成员数。例如,如果你有一个庞大的成员,那么它会表明更深层次的东西(可能是某处的缓存数据)。如果哈希表中有数千个成员,则可能表明您正在泄漏实例。

我通常发现泄漏的应用程序是因为信息被缓存而没有被丢弃。泄漏是在启动时发生,在空闲时增长还是仅在负载下发生?