GC latency in GCJ

P.O. Gaillard pierre-olivier.gaillard@fr.thalesgroup.com
Mon Apr 24 15:38:00 GMT 2006


Hello,
I am testing the latency of programs compiled with GCJ and the GC stops 
everything when it runs (I run Fedora Core 5, GCJ 4.1 and Linux Trace Toolkit 
showed me that all the tasks are suspended during GC as described by Hans Boehm 
in a message on this list).
I would like to test my little test program without GC but could not find any 
runtime option to stop the garbage collector. Do I really need to recompile GCC 
or can I change some runtime parameter ?
Also, I was surprised to see that my test program allocates memory all the time 
(the size shown by ps increases until the gc starts) when compiled with gcj. 
This does not seem to happen with JDK 1.5. So I tried to use valgrind, gdb, 
oprofile to find where _Jv_Malloc is called but I ran into problems (like the 
fact that libgc seems to be lacking debugging symbols on my machine).
I would therefore like to ask a few questions on this list :
1) where can I find a documentation of the ways to configure the GC at runtime 
(environment variables, calls to C functions etc.) ?
2) is there a way to force the GC to work in 500us/1ms increments ?
3) what is the easiest way to find out where memory is allocated with GCJ ? I 
would like to obtain something like what gnatmem, valgrind, jdk 
(-Xrunhprof:heap=sites) do. That is obtain backtraces of the call stack for all 
the allocation sites in a program.
 thank your for your help,
 P.O. Gaillard


More information about the Java mailing list

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