AW: Garbage Collector Problem

"Marco Rotellini" <[email protected]> Fri, 23 Dec 2005 15:01:54 +0100
Newsgroups gmane.comp.java.vm.sablevm.general
Message-ID <[email protected]>
Hi Etienne

thanks for the quick answer. I'll do my best to find out the matter of this behaviour but for the next 10 days i'm on vacation so it can last a while!

Bye
Marco

-----Ursprüngliche Nachricht-----
Von: Etienne Gagnon [mailto:[email protected]] 
Gesendet: Freitag, 23. Dezember 2005 14:49
An: SableVM Users Mailing List
Betreff: Re: Garbage Collector Problem

Hi Marco,

A few suggestions:

1- man sablevm [yes, sablevm comes with a man page;-)]

   You'll discover many system properties that can be specified on the
   command-line to control GC options.  e.g.:

   sablevm --property="sablevm.heap.size.increment=1048576"

2- sablevm --verbose-gc

3- You can also look (and possibly add printf()'s) at SableVM's memory
   allocation code in src/libsablevm/gc_copying.c

  The most interesting function, for you, is probably:

   _svmf_copy_gc_internal (_svmt_JNIEnv *env, size_t requested_size)

  In particular, look at the statements that contain calls to
  _svmf_malloc() and _svmf_free().

Given the calls to _svmf_free(), the behavior that you observe is surprising.

We would be very thankful to you if you investigated the matter and reported back to us.

Have fun!

Etienne

Marco Rotellini wrote:
> running the same app on my linux/arm9 system with sablevm causes the 
> app to crash after a while saying "out of memory". i enforce the gc to 
> do its work by periodically call System.gc(). when doing this, the 
> problem seems to be solved (at least after a 24h test run) -> the free 
> memory on the system remains more or less the same. but it's not satisfying.
> so my question is: why does sablevm's gc not recognize the fatal out 
> of memory situation, when the free memory drifts to 0?
> are there any options to set when starting the vm to affect the gc's 
> behaviour?

-- 
Etienne M. Gagnon, Ph.D.            http://www.info2.uqam.ca/~egagnon/
SableVM:                                       http://www.sablevm.org/
SableCC:                                       http://www.sablecc.org/