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

AltStyle によって変換されたページ (->オリジナル) /