Question on GCJ/Boehm Memory Utilization, Part II

Martin Egholm Nielsen martin@egholm-nielsen.dk
Tue Feb 21 19:41:00 GMT 2006


> I believe the correct word for what is happening is "fragmentation". 
> Hans also calls it "unexpectedly large heap growth". Maybe this latter 
> term is the most appropriate. What is happening is pretty clear:
Not being an expert on GC, I believe it would help if you increase the 
"GC_free_space_divisor" as I (thankfully) has been instructed to do, as 
well.
See the thread:
http://gcc.gnu.org/ml/java/2006-01/msg00135.html
In short, instead of doing:
# gcj -o something --main=some.package.MainClass *.o
when linking, do something like:
# gcj -save-temps -o something --main=some.package.MainClass *.o
# patch<gc-setup.patch
# gcc -x c some.package.MainClassmain.i -c
# gcj -o something *.o
where "gc-setup.patch" is something like:
--- 8< 8< 8< ---
--- some.package.MainClassmain.ori	2006年02月07日 15:48:24.831138400 +0100
+++ some.package.MainClassmain.i	2006年02月07日 15:13:47.116111200 +0100
@@ -9,5 +9,6 @@
 int main (int argc, const char **argv)
 {
 _Jv_Compiler_Properties = props;
+ GC_set_free_space_divisor(10);
 JvRunMain (&_ZN4some7package9MainClass6class$E, argc, argv);
 }
--- 8< 8< 8< ---
It's so easy to test - let's hear if it works... It did for me!
// Martin


More information about the Java mailing list

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