Назад | Перейти на главную страницу

Утечка памяти WebSphere com.ibm.ejs.j2c.ConnectorRuntime

Ниже представлены входящие ссылки на большой объем памяти, видимые в основном файле дампа кучи после OutOfMemoryException в WebSphere 6:

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                                                    |              |
-------------------------------------------------------------------------------------------------------------     

Я не просматривал их все, но казалось, что все записи хэш-карты имеют пустые значения.

Что могло быть причиной этого? Как мне получить дополнительную информацию?

Решение было: Increased max heap size for server from 256 to 768MB. Also enabled garbage collection logging.

Если вы используете Oracle, проблема может заключаться в потреблении памяти Oracle Connection Pool.

Посмотри это белая бумага, в частности раздел о настройке oracle.jdbc.implicitStatementCacheSize параметр.