GC Problems...
Simon Levitt
simon.levitt@worldpay.com
Tue Sep 7 19:17:00 GMT 2004
On Tuesday 07 September 2004 18:01, Boehm, Hans wrote:
> In general, I suspect that without the explicit limit, this should
> stabilize at a heap size much larger than 768K. The collector will try to
> amortize the cost of scanning the root set, which currently includes
> essentially all static data in the process, and tends to be much bigger.
>I've seen the heap size goto over 10Mb with a 20Mb heap in an example that was
creating a couple of strings per iteration. I haven't left it long enough to
find out if it does stabilise, but even so, that seems like a lot of memory
for such a simple example to be using.
> Are you saying that the 768K limit is ignored, and it grows beyond that?
>No. Its gets to the limit, and reports out of memory errors - straight away -
There seems to be no real attempt to collect anything IIRC.
The problem with the larger heaps is the time it takes to reach that point - I
can try some experiments with larger heaps and leaving them for much longer
if you think that might help.
> It might also be interesting to call GC_dump() after it has run for a
> while, and see what that looks like. I'd pay particularly close attention
> to the root set.
>Ok - I'll put in a call to do that every so often, and see what that gives.
Thanks,
Simon.,
More information about the Java
mailing list