When you use the Build Project feature of Eclipse, you are prompted with the following error:
An internal error occurred during: "Build Project". GC Overhead limit exceeded
Search for a bit, is belong to Java.lang.OutOfMemoryError.
Oom Everyone knows, is the JVM memory overflow, that GC overhead limit exceed?
GC Overhead LIMT Exceed check is a strategy defined by hotspot VM 1.6 to predict whether or not to oom by counting GC time, and to throw an exception early to prevent Oom from happening. Sun officially defines this as: "The parallel/concurrent collector throws Outofmemroyerror when the GC is recycled too long." The long definition is that more than 98% of the time is spent doing GC and recovering less than 2% of heap memory. Used to avoid too little memory to cause the app to not work properly. “
Sounds useless ... What's the use of predicting oom? At first, this thing can only be used to catch and release memory resources, to avoid the application hanging out. It turns out that this strategy is not going to save your app in general, but you can make a final struggle before the app hangs up, such as data saving or saving the site (Heap Dump).
And sometimes this strategy also poses problems, such as frequent oom when loading some large memory data.
* * Used for a year or two, today suddenly encountered this problem, perhaps not previously noticed.
In fact, if it is not very frequent appearance, do not need to pay attention to it, direct click OK. **
The following pop-up prompts are:
If this happens, then click Yes to restart Eclipse.
If you are worried about unsaved changes, just click No and restart eclipse after the check is complete.
Eclipse:an Internal error occurred during: "Build Project". GC overhead limit exceeded