Kaffe 0.9.1 Memory and Performance Problems

Ian Brown inb at creare.com
Mon Jun 30 08:30:52 PDT 1997

While kaffe 0.9.1 seems to be better than 0.9.0, it still has memory
problems.  I have a server written in JAVA that is supposed to take in
data from the outside world and place it into a buffer.  With kaffe
0.8.1, I was able to write 600 51200-byte data blocks to the server in
about 6 seconds.

With kaffe 0.9.0, the server would grow by a megabyte or more per data
block and run out of memory somewhere around 25MB in size.  With kaffe
0.9.1, the excessive growth factor appears to go away, but the process
runs out of memory at around 15 MB.  Here is a print out from kaffe
after turning on flag_memstats in flags.c:

Memory statistics:
        object: Nr   6873  Mem   1236K            array: Nr   4557  Mem 
         class: Nr    199  Mem     23K           method: Nr    181 
Mem    129K
         field: Nr    120  Mem     25K           static: Nr     80 
Mem      3K
      dispatch: Nr    201  Mem     56K         bytecode: Nr   2074 
Mem    192K
     exception: Nr    162  Mem      7K         constant: Nr    181 
Mem    160K
     utf8const: Nr   4419  Mem    141K        interface: Nr     57 
Mem      0K
          root: Nr      4  Mem     60K     indirectRoot: Nr     13 
Mem      0K
           jit: Nr    504  Mem    396K            fixed: Nr     92 
Mem    584K
         other: Nr    617  Mem    128K   

This was the last print before it ran out of memory.  This totals 15456
KB.  I'm running on a Linux (RedHat 4.1) machine with 64MB of RAM and
about 70MB of swap space.  Top shows that I have plenty of swap space
left when kaffe reports that it is out of memory.

I've also noticed that the performance seems way down.  If I modify my
setup to only save the last 200 chunks of memory (throwing out old ones
as new ones appear), I don't run out of memory, but it takes over 19
seconds rather than the about 6 it was taking under 0.8.1.


More information about the kaffe mailing list