Jacks, gij and the GC
Andrew Haley
aph@redhat.com
Thu Apr 22 12:41:00 GMT 2004
Ranjit Mathew writes:
> Andrew Haley wrote:
> > Ranjit Mathew writes:
> > >
> > > In a well-behaving JVM this should print out
> > > "false" after some time.
> >
> > Yes, but the amount of time that it might take is unbounded.
> >
> > > 1. Doesn't anyone else see this behaviour on Linux?
> >
> > Yes. Linux can protect aginst this possibility by using "ulimit".
> >
> > This is a longstanding gcj bug that can be fixed, but with some
> > difficulty.
>
> Thanks a lot, but can you please elaborate on that?
>
> I mean, is this a known behaviour of the Boehm-GC or
> some other problem within GCJ?
The default limit is "no limit". So, your process expands to fill all
virtual memory, and that necessarily causes a great deal of thrashing.
While it's thrashing you can't do anything else.
For this to work well would require gcj to be changed so that when it
runs out of memory we cleanly throw an exception. This isn't
impossible, but it is hard.
Andrew.
More information about the Java
mailing list