GC overhead limit exceeded refers to the Garbage Collector. When an object on the heap is no longer usable, it is marked for garbage collection. If/when your application is running low on memory the garbage collector will run, throwing out unreachable objects and freeing up space so it can be re-used. Garbage collection errors indicate that the JVM took too long to free up memory during its GC process.
The parallel collector will throw an OutOfMemoryError if too much time is being spent in garbage collection: if more than 98% of the total time is spent in garbage collection and less than 2% of the heap is recovered, an OutOfMemoryError will be thrown. This feature is designed to prevent applications from running for an extended period of time while making little or no progress because the heap is too small.
This kind of OutOfMemoryError can be caused if user requests the available resources in the JVM. When this occurs, performance will degrade aggressively.
Things to check
- Check for .hprof files in
/var/cores or in $VOYENCE_HOME/dump/. User can also run locate *.hprof to find and heap files. User need to move these off of the server (or delete them) as they consume huge space. The most recent dump file need to be shared with support along with catalina.out and Voyence.log.
- Check the file space for RA to be sure that server is not out of space (No space left on device). Space is usually consumed by logs or hprof files. Logs are stored in $TOMCAT_HOME/logs.