Today the scene WebLogic reported Java.lang.OutOfMemoryError:GC overhead limit exceeded, in Metalink looked under, there is clear explanation, to set a JVM parameters. Just because the current WebLogic memory is set to 4G, setting the parameters is not really the way to solve this problem. Or analyze the WebLogic memory overflow file to see which feature has the problem:
Applies To:Oracle WebLogic server-version 10.3 and later
information in this document applies to any platform.
***checked for relevance on 22-oct-2014***
Symptoms
Issue of getting below "Java.lang.OutOfMemoryError:GC overhead limit Exceeded" exception in WebLogic 10.3 and above Versi ONS is reported when running with Sun JDK 1.6 with all fix packs:
Sep 4:13:27 PM cdt> <Error> <Kernel> <BEA-000802> <executerequest failed
Java.lang.OutOfMemoryError:GC overhead limit exceeded.
Java.lang.OutOfMemoryError:GC Overhead limit exceeded
At Java.util.Arrays.copyOfRange (arrays.java:3209)
At Java.lang.string.<init> (string.java:216)
At Java.lang.StringBuilder.toString (stringbuilder.java:430)
At Weblogic.servlet.internal.ServletRequestImpl.toString (servletrequestimpl.java:243)
At Java.lang.String.valueOf (string.java:2827)
truncated. See log file for complete stacktracecause
The "Java.lang.OutOfMemoryError:GC overhead limit exceeded" message means that for some reason the garbage collector is T Aking an excessive amount of time.
The parallel collector would throw an outofmemoryerror if too much time was being spent in garbage collection:if more than 98% of the total time was spent in garbage collection or less than 2% of the heap was recovered by garbage collection, an Ou Tofmemoryerror'll be thrown.
This feature of throwing "GC overhead limit Exceeded" message was designed to prevent applications from running for a ext Ended period of time and making little or no progress because the heap is too small.
-The reason is that the garbage collector took a long time for some reason. The parallel garbage collector throws a memory overflow error. Either it takes a very long time to do GC operations, or just 2% of the heap of memory is recycled. GC overhead limit exceeded is designed to block application execution. Because the heap memory settings are small and not progressing.
Solution
You can avoid the above "Java.lang.OutOfMemoryError:GC overhead limit Exceeded" exception by disabling the GC overhead Li MIT feature in Sun JDK 1.6 by adding the following argument to the start script of the JVM:
-xx:-usegcoverheadlimit
However, please note this disabling the overhead limit only avoids getting the outofmemoryerror on an early stage. The outofmemoryerror is very likely to being thrown at a later stage and because it does not remove the underlying problem. You should still look in your application and JVM settings to find the cause of GC taking an excessively long time.< /c0>
--Avoid such errors and display the settings in the JVM -xx:-usegcoverheadlimit
Java.lang.OutOfMemoryError:GC Overhead limit exceeded