Barry
10-09-2008, 12:14
Today I ran into an interesting error while starting my application.
The whole stacktrace would be pointless and boring to post here so I only included the first line.
Sun actually has information on this item after some Google searching: Sun page (http://java.sun.com/javase/technologies/hotspot/gc/gc_tuning_6.html#par_gc.oom)
Excessive GC Time and OutOfMemoryError
The parallel collector will throw an OutOfMemoryError 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. If necessary, this feature can be disabled by adding the option -XX:-UseGCOverheadLimit to the command line.
In my case it seems to be an endless loop (my bad) which uses CopyOnWriteArrayList.
Hope this helps anybody in the future
The whole stacktrace would be pointless and boring to post here so I only included the first line.
Sun actually has information on this item after some Google searching: Sun page (http://java.sun.com/javase/technologies/hotspot/gc/gc_tuning_6.html#par_gc.oom)
Excessive GC Time and OutOfMemoryError
The parallel collector will throw an OutOfMemoryError 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. If necessary, this feature can be disabled by adding the option -XX:-UseGCOverheadLimit to the command line.
In my case it seems to be an endless loop (my bad) which uses CopyOnWriteArrayList.
Hope this helps anybody in the future