WebSphere 内存泄漏 com.ibm.ejs.j2c.ConnectorRuntime

WebSphere 内存泄漏 com.ibm.ejs.j2c.ConnectorRuntime

以下表示对大量内存的传入引用,在 WebSphere 6 中发生 OutOfMemoryException 之后,在主堆转储文件中可以看到:

Class Name                                                                    | Shallow Heap | Retained Heap
-------------------------------------------------------------------------------------------------------------
                                                                              |              |
java.util.HashMap$Entry[1048576] @ 0xbd42d00                                  |    4,194,320 |   122,167,192
'- java.util.HashMap @ 0x1044918                                              |           48 |   122,167,240
   '- class com.ibm.ejs.j2c.ConnectorRuntime @ 0x15871128                     |           28 |   122,167,356
      |- org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader @ 0x133fa48 |           96 |       191,140
      |- class com.ibm.ejs.j2c.RALifeCycleManagerImpl @ 0x15834ea0            |           28 |           108
      |- class com.ibm.ejs.j2c.ConnectorRuntime @ 0x15871128                  |           28 |   122,167,356
      |- class com.ibm.ejs.j2c.PoolManager @ 0x158723d8                       |           28 |         2,028
      |- class com.ibm.ejs.j2c.RAWrapperImpl @ 0x15875eb0                     |           28 |         1,612
      |- class com.ibm.ejs.j2c.XMLReader @ 0x15e6ef88                         |           28 |           156
      |- class com.ibm.ejs.j2c.ConnectionFactoryRefBuilderImpl @ 0x15ed5468   |           28 |           140
      |- class com.ibm.ejs.j2c.ConnectionFactoryDetailsImpl @ 0x15efc758      |           28 |       201,060
      |- class com.ibm.ejs.j2c.ResourceAdapterDDImpl @ 0x1605ce60             |           28 |           220
      |- class com.ibm.ejs.j2c.ConnectorPoolProperties @ 0x1605d900           |           28 |           972
      |- class com.ibm.ejs.j2c.ConnectionManager @ 0x163eea78                 |           28 |           196
      |- class com.ibm.ejs.j2c.XATransactionWrapper @ 0x163f0a30              |           28 |            28
      |- class com.ibm.ejs.j2c.ConnectionFactoryBuilderServerImpl @ 0x16431540|           28 |           364
      |- class com.ibm.ejs.j2c.DefaultSecurityHelper @ 0x16434800             |           28 |            28
      |- class com.ibm.ejs.j2c.MCWrapper @ 0x165542a0                         |           28 |           764
      |- class com.ibm.ejs.j2c.PoolManager$GetJ2CProperties @ 0x16577758      |           28 |            28
      |- class com.ibm.ejs.j2c.SharedPool @ 0x16578100                        |           28 |            28
      |- class com.ibm.ejs.j2c.FreePool @ 0x165787f0                          |           28 |            28
      |- class com.ibm.ejs.j2c.CMConfigDataImpl$GetJ2CProperties @ 0x16977b30 |           28 |            28
      '- Total: 19 entries                                                    |              |
-------------------------------------------------------------------------------------------------------------     

我没有全部检查过,但是哈希图条目似乎都具有空值。

这可能是什么原因造成的?如何获取更多信息?

答案1

解决方案是:Increased max heap size for server from 256 to 768MB. Also enabled garbage collection logging.

答案2

如果您正在使用 Oracle,那么问题可能出在 Oracle 连接池内存消耗上。

看到这个白皮书,特别是有关设置oracle.jdbc.implicitStatementCacheSize参数的部分。

相关内容