Summary
BSM java.lang.OutOfMemoryError: GC overhead limit exceeded
Error
BSM java.lang.OutOfMemoryError: GC overhead limit exceeded : what does this error mean and how to resolve it?
Cause
Qn OutOfMemoryError occurs 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.
Fix
To resolve, the following options are available:
1) Increase heap size using Xmx switch e.g. -Xmx512m
2) Disable the error check using -XX:-UseGCOverheadLimit
The third approach will only result in another kind of error messages – heap related java.lang.OutOfMemoryError.
In the corresponding *VM_PARARMS.INI change the line
-Xms64m -Xmx1024m
to
-Xms64m -Xmx2048m
save the file, and see if the process runs again out of memory. Increase the value if needed. Given values are only an example and may very for each process.