GCOverheadLimit does not work ?
Jon.Masamitsu at Sun.COM
Mon Jun 9 16:08:27 UTC 2008
There is a bug somewhere here that relates to the GCOverheadLimit.
I think the problem is that the survivor spaces are not being
used and the survivor space is large enough so that the
calculation of the amount of free space in the heap is > 2%.
The survivor spaces are not being used because only full
collections are being done later in the run and the survivor
spaces are used for minor (young generation) collections. Though
the description of the GCOverheadLimit refers to the amount
of the heap collected, it really should just say that amount of
free space in the heap. That's a bug in the specification for
the parameter. I'm not sure that an out-of-memory should
be thrown if there is 2% of the heap free - that's in keeping
with trying to minimize the false positives resulting from this
David Tavoularis wrote:
> It seems that the mechanism GCOverheadLimit did not trigger, even if more than 98% of the total time is spent in garbage collection and less than 2% of the heap is recovered. The process spent 3 hours in this state, performing Full GC after Full GC.
> I am using Parallel Collector on Java6u4/Solaris9. Is it a bug or maybe I do not understand this feature ?
> "TimeStamp","GC duration","Duration between 2 FullGC"
> 57356.444 27.46 27.471
> 57383.915 27.14 27.137
> 57411.052 27.63 27.738
> 57438.79 33.72 33.724
> 57472.514 30.07 30.087
> 57502.601 27.84 27.842
> 57530.443 28.46 28.519
> 57558.962 29.03 29.032
> 57587.994 29.31 29.321
> Full GC logs are available at http://people.via.ecp.fr/~tony/tmp/gc_200802282216.zip
> Thanks in advance
hotspot-gc-use mailing list
hotspot-gc-use at openjdk.java.net
More information about the hotspot-gc-dev