Welcome Guest! Log in
Stambia versions 2.x, 3.x, S17, S18, S19 and S20 are reaching End of Support January, 15th, 2024. Please consider upgrading to the supported Semarchy xDI versions. See Global Policy Support and the Semarchy Documentation.

The Stambia User Community is moving to Semarchy! All the applicable resources have already been moved or are currently being moved to their new location. Read more…


Symptom

One or several sessions are terminated with a "java.lang.OutOfMemoryError: GC overhead limit exceeded" exception.

Before this occurs, the Runtime has run a quite big number of sessions which ended at about the same time (in the same minute).

Solution

The problem may come from the memoryLogCacheDelay runtime property.

When a session ends, the runtime keeps session data in memory, during the time defined in this property.

This allows to consult the session data from the designer, without the runtime having to reload the information from the log database.

So, when there are a lot of sessions ending at the same time, a lot of memory is used to keep all this data. 

 

You can set the memoryLogCacheDelay parameter to 0, so sessions will not be kept anymore in memory.

Less memory will be used, but the runtime will now have to reload from database all the data for each consultation on the designer.

Or you can set a shorter value (in milliseconds) than before to try if it is sufficient.

 

By default you can find this parameter in:

<runtimeDirectory>/properties/engines/commonParameters.xml

 memoryLogCacheDelayProperty

 

 

Knowledge Base

Suggest a new Article!