[kaffe] Overactive GC

Matthew Tippett matthew.tippett@sympatico.ca
Wed Mar 26 08:17:01 2003


This is a multi-part message in MIME format.
--------------070605070603000205080108
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit

Hello,

Looking for some guidance on this one.

Using Kaffe on an embedded MIPS platform I am observing unusual garbage 
collection behaviour

The system has 32 MB of RAM, of which there is 1.5 MB system memory 
free.  The particular behaviour I am seeing is that in certain 
conditions, there is garbage collection running continually.  The file 
attached is output from -verbosemem -verbosegc.  The gc seems to be 
running on every second without fail.

Looking at the output, it looks like there is a condition triggering gc 
which the VM cannot resolve through gc, resulting in a 'try, fail, 
trigger, try, fail, trigger loop, which ends up consuming all VM resources.

So...

Can someone provide guidance as to the generalised process that the VM 
goes through to trigger GC, and consequently if there is a way that I 
can stop or reconfigure the GC trigger points to ensure that we don't 
move into a continual GC loop.

I am currently playing with the -mx -ms paramaters.

Regards,

Matthew

--------------070605070603000205080108
Content-Type: text/plain;
 name="gc.txt"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="gc.txt"

<GC: heap 10240K, total before 8448K, after 5164K (97589/55555 objs)
 49.6% free, alloced 3283K (#42034), marked 1128K, swept 3283K (#42034)
 0 objs (0K) awaiting finalization>
Memory statistics:
------------------
    j.l.String: Nr   3651  Mem    142K     other-nowalk: Nr     24  Mem      6K
  obj-no-final: Nr   3209  Mem    110K      prim-arrays: Nr   2803  Mem    653K
    ref-arrays: Nr    553  Mem     37K        j.l.Class: Nr    758  Mem    118K
     obj-final: Nr     45  Mem      2K    java-bytecode: Nr   6553  Mem    482K
     exc-table: Nr    582  Mem     28K          jitcode: Nr      0  Mem      0K
   static-data: Nr    289  Mem     11K        constants: Nr    714  Mem    552K
   other-fixed: Nr  20629  Mem    949K           dtable: Nr    607  Mem     63K
       methods: Nr    702  Mem    545K           fields: Nr    477  Mem     82K
    utf8consts: Nr  12772  Mem    690K       interfaces: Nr    403  Mem      8K
         locks: Nr      0  Mem      0K     thread-ctxts: Nr     24  Mem    659K
       gc-refs: Nr    759  Mem     17K    jit-temp-data: Nr      0  Mem      0K
j.l.ClassLoade: Nr      1  Mem      0K
<GC: heap 10240K, total before 8448K, after 5164K (97589/55555 objs)
 49.6% free, alloced 3283K (#42034), marked 1128K, swept 3283K (#42034)
 0 objs (0K) awaiting finalization>
Memory statistics:
------------------
    j.l.String: Nr   3651  Mem    142K     other-nowalk: Nr     24  Mem      6K
  obj-no-final: Nr   3209  Mem    110K      prim-arrays: Nr   2803  Mem    653K
    ref-arrays: Nr    553  Mem     37K        j.l.Class: Nr    758  Mem    118K
     obj-final: Nr     45  Mem      2K    java-bytecode: Nr   6553  Mem    482K
     exc-table: Nr    582  Mem     28K          jitcode: Nr      0  Mem      0K
   static-data: Nr    289  Mem     11K        constants: Nr    714  Mem    552K
   other-fixed: Nr  20629  Mem    949K           dtable: Nr    607  Mem     63K
       methods: Nr    702  Mem    545K           fields: Nr    477  Mem     82K
    utf8consts: Nr  12772  Mem    690K       interfaces: Nr    403  Mem      8K
         locks: Nr      0  Mem      0K     thread-ctxts: Nr     24  Mem    659K
       gc-refs: Nr    759  Mem     17K    jit-temp-data: Nr      0  Mem      0K
j.l.ClassLoade: Nr      1  Mem      0K

--------------070605070603000205080108--