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.BufferCaches referenced from oracle T4CConnections'oracle.jdbc.driver.PhysicalConnection$BufferCacheStores. - 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 of over 48,000 articles and solutions.
Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.
