OutOfMemory GC Overhead using Oracle JDBC Driver
Issue
- We are facing issues in our production environment with the server hitting very high peaks in memory and going out of memory. (GC overhead)
- A heap dump shows most of the memory taken up in
oracle.jdbc.driver.BufferCache
s referenced from oracle T4CConnections'oracle.jdbc.driver.PhysicalConnection$BufferCacheStore
s. - A heap dump shows the following retention under a single instance of
org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreArrayListManagedConnectionPool
:
Class Name | Shallow Heap | Retained Heap | Percentage
--------------------------------------------------------------------------------------------------------------------------------------
org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreArrayListManagedConnectionPool @ ...| 72 | 730,013,848 | 66.37%
|- java.util.ArrayList @ 0xa80022f0 | 24 | 730,008,864 | 66.37%
| '- java.lang.Object[300] @ 0xa8002308 | 1,216 | 730,008,840 | 66.37%
| |- org.jboss.jca.core.connectionmanager.listener.NoTxConnectionListener @ ... | 72 | 10,806,344 | 0.98%
| | |- org.jboss.jca.adapters.jdbc.local.LocalManagedConnection @ 0xaf882c78 | 72 | 10,806,168 | 0.98%
| | | |- oracle.jdbc.driver.T4CConnection @ 0xaf882cc0 | 840 | 10,805,152 | 0.98%
| | | | |- oracle.jdbc.driver.PhysicalConnection$BufferCacheStore @ 0xaf885618 | 24 | 10,675,088 | 0.97%
| | | | | |- oracle.jdbc.driver.BufferCache @ 0xaf885d10 | 32 | 10,578,624 | 0.96%
...
--------------------------------------------------------------------------------------------------------------------------------------
Environment
- JBoss Enterprise Application Platform (EAP)
- Oracle JDBC
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.