memory defragmentation

Godmar Back gback at
Tue Feb 16 12:43:51 PST 1999

There's this TR, though to my knowledge it does not address external

	- Godmar
A Study of the Allocation Behavior of the SPECjvm98 Java Benchmarks

Sylvia Dieckmann and Urs Hölzle
 Abstract: We present an analysis of the memory usage for six of the Java 
programs in the SPECjvm98 benchmark suite. Most of the programs are 
real-world applications with high demands on the memory system. For each 
program, we measured as much low level data as possible, including age 
and size distribution, type distribution, thread-local objects, and the 
overhead of object alignment. Among other things, we found that non-pointer 
data usually represents more than 50% of the allocated space for instance 
objects, that Java objects are fairly small, and that a large fraction 
of objects is never accessible outside the thread that allocated it.

> Ren-Song Ko wrote:
> > 
> > I know the free block will be merged with its free neighbors once it is
> > freed. Will it be possible that a large block can not be allocated in the
> > heap because each free block on the list is too small, even though total
> > free memory size is large enough? 
> It's certainly possible, but I have no idea whether it happens often
> while running Java programs on Kaffe.
> I keep coming across problems like this -- questions that can't be
> answered without detailed knowledge of object-allocation patterns in
> Java (or other languages, for that matter).  So, does anyone know if
> there's a study of Java object demographics available anywhere, and if
> so where?
> If there isn't, then can anyone point me to a source of Java programs
> that I can run and analyse?  (If they're not graphical then so much
> the better -- easier to run automatically.)
> -- Dave
> D.W.Hughes at
> Department of Computer Science, University of Exeter, UK
> 	      ---  ${HOME} is where the .emacs is.  ---

More information about the kaffe mailing list