Vazamento de memória do WebSphere com.ibm.ejs.j2c.ConnectorRuntime

2

O seguinte representa as referências recebidas para uma grande quantidade de memória, vista em um arquivo de heap primário após uma OutOfMemoryException no 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                                                    |              |
-------------------------------------------------------------------------------------------------------------     

Eu não passei por todos eles, mas as entradas do hashmap pareciam ter valores vazios.

Qual poderia ser a causa disso? Como obtenho mais informações?

    
por Synesso 27.04.2012 / 04:33

2 respostas

1

A solução foi: Increased max heap size for server from 256 to 768MB. Also enabled garbage collection logging.

    
por 12.07.2012 / 05:40
0

Se você estiver usando o Oracle, o problema pode estar no consumo de memória do Oracle Connection Pool.

Veja este whitepaper , em particular a seção sobre como definir o parâmetro oracle.jdbc.implicitStatementCacheSize

    
por 24.09.2013 / 10:53

Tags