Identity Manager error "java.lang.OutOfMemoryError: GC overhead limit exceeded" found in server.log

Document ID : KB000014407
Last Modified Date : 14/02/2018
Show Technical Document Details
Introduction:

This error can occur in a clustered environments where memory is exceeded.  When this occurs the nodes may stop taking traffic.  You may find a restart of services resolves the issue for a time, but a performance setting will need to be adjusted for a permanent resolution.

2017-04-23 22:39:32,850 ERROR [org.jgroups.util.TimeScheduler3] (Timer runner-1,shared=tcp) failed submitting task to thread pool: java.lang.OutOfMemoryError: GC overhead limit exceeded 


2017-04-23 22:40:29,256 ERROR [org.jgroups.util.TimeScheduler3] (Timer runner-1,shared=udp) failed submitting task to thread pool: java.lang.OutOfMemoryError: GC overhead limit exceeded 

2017-04-23 22:40:25,788 ERROR [org.hornetq.core.client] (Thread-20 (HornetQ-server-HornetQServerImpl::serverUUID=3bb3bb22-263b-11e7-9225-df1750f6c6a8-495825933)) HQ214017: Caught unexpected Throwable: java.lang.OutOfMemoryError: GC overhead limit exceeded 

2017-04-23 22:40:44,944 ERROR [org.xnio.listener] (default I/O-3) XNIO001007: A channel event listener threw an exception: java.lang.OutOfMemoryError: GC overhead limit exceeded 

Question:

How to resolve "GC overhead limit exceeded" error

Answer:

Increase the Jaba heap.  

Set it as JVM arguments the usual way, e.g. -Xms1024m -Xmx2048m for a minimum heap of 1GB and maximum heap of 2GB. JBoss will use the JAVA_OPTS environment variable to include additional JVM arguments, you could specify it in the /bin/run.conf.bat file: 


set "JAVA_OPTS=%JAVA_OPTS% -Xms1024m -Xmx2048m"