Oracle Analytics Cloud and Server

Welcome to the Oracle Analytics Community: Please complete your User Profile and upload your Profile Picture

How to resolve "GC Overhead limit exceeded" error in OBIEE 11g

Accepted answer
4107
Views
2
Comments
AbinashBehera
AbinashBehera Rank 5 - Community Champion

Hi All,

Today I am seeing this error in many places in swalog, bi_server1.log,How to resolve "GC Overhead limit exceeded" error in OBIEE 11g?

Thanks,

Abinash

Best Answer

  • nm.Mani
    nm.Mani Rank 6 - Analytics Lead

    Hi

    This normally happens to us when there is more data to fetch or does not fit or poor performance of database.

    Raise it with Oracle and see what they say on this.

    Exception in thread thread_name: java.lang.OutOfMemoryError: GC Overhead limit exceededCause: The detail message "GC overhead limit exceeded" indicates that the garbage collector is running all the time and Java program is making very slow progress. After a garbage collection, if the Java process is spending more than approximately 98% of its time doing garbage collection and if it is recovering less than 2% of the heap and has been doing so far the last 5 (compile time constant) consecutive garbage collections, then a java.lang.OutOfMemoryError is thrown. This exception is typically thrown because the amount of live data barely fits into the Java heap having little free space for new allocations.Action: Increase the heap size. The java.lang.OutOfMemoryError exception for GC Overhead limit exceeded can be turned off with the command line flag -XX:-UseGCOverheadLimit.

    Hope this helps

    MM

Answers

  • Hi,

    Google return this as one of the first results ...

    Exception in thread thread_name: java.lang.OutOfMemoryError: GC Overhead limit exceededCause: The detail message "GC overhead limit exceeded" indicates that the garbage collector is running all the time and Java program is making very slow progress. After a garbage collection, if the Java process is spending more than approximately 98% of its time doing garbage collection and if it is recovering less than 2% of the heap and has been doing so far the last 5 (compile time constant) consecutive garbage collections, then a java.lang.OutOfMemoryError is thrown. This exception is typically thrown because the amount of live data barely fits into the Java heap having little free space for new allocations.Action: Increase the heap size. The java.lang.OutOfMemoryError exception for GC Overhead limit exceeded can be turned off with the command line flag -XX:-UseGCOverheadLimit.(https://docs.oracle.com/javase/8/docs/technotes/guides/troubleshoot/memleaks002.html )

    So you have something to investigate now.

    PS: do not randomly change any heap size just because it's the suggested action, first find out why suddenly you have an error you never had before.