My Oracle Support Banner

Retained Heap By ReplicatedMemorySwap Instance Causing OutOfMemory Exceptions (Doc ID 1500791.1)

Last updated on APRIL 04, 2018

Applies to:

Oracle Weblogic Server - Version 9.2.4 to 12.1.1.0
Information in this document applies to any platform.

Symptoms

 

An application consisting of EJB stateful beans is deployed into a  WLS cluster  (10.3.5 version).

This EJB Stateful  uses in-memory replication  with the following configuration :

 

<weblogic-enterprise-bean>
<ejb-name>StatefullPhySessionBean</ejb-name>
<stateful-session-descriptor>
<stateful-session-cache>
<max-beans-in-cache>200</max-beans-in-cache>
<idle-timeout-seconds>86400</idle-timeout-seconds>
<cache-type>LRU</cache-type>
</stateful-session-cache>
<stateful-session-clustering>
  <home-is-clusterable>true</home-is-clusterable>
   <replication-type>InMemory</replication-type>
</stateful-session-clustering>

<allow-concurrent-calls>false</allow-concurrent-calls>
</stateful-session-descriptor>
<enable-call-by-reference>true</enable-call-by-reference>
</weblogic-enterprise-bean>

 

 While invoking  the Stateful Session beans , slowly the Java Heap Memory  increase  . And, as a consequence,  OutOfMemoryError exceptions occur .

Heap Dumps show that  weblogic.ejb.container.swap.ReplicatedMemorySwap instance (previousVersionMap and secondaryBeanMap data fields)   related to the Stateful bean is retaining most of the memory. 
  
 
 

Cause

To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!


My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.