Java.lang.OutOfMemoryError:GC Overhead limit exceeded

Source: Internet
Author: User
Tags gc overhead limit exceeded

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

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.