Installing libgcj consumes huge amounts of memory

Mark Wielaard mark@klomp.org
Sun Dec 4 10:46:00 GMT 2005


Hi Gerald,
On Sun, 2005年12月04日 at 00:35 +0100, Gerald Pfeifer wrote:
> Is anyone seeing this? With current 4.1 sources, on a machine with "only" 
> 1GB of main memory + 1GB swap, the following part of `make install`
>> Adding java source files from srcdir '/cvs/gcc/trunk/libjava/classpath'.
> Adding java source files from VM directory /cvs/gcc/trunk/libjava /tmp/OBJ-1203-1719/i686-pc-linux-gnu/libjava
> Adding generated files in builddir '..'.
> make -f /cvs/gcc/trunk/libjava/classpath/lib/Makefile.gcj \
> GCJ='/tmp/OBJ-1203-1719/gcc/gcj \
> -B/tmp/OBJ-1203-1719/i686-pc-linux-gnu/libjava/ \
> -B/tmp/OBJ-1203-1719/gcc/' \
> compile_classpath='..:/cvs/gcc/trunk/libjava:/tmp/OBJ-1203-1719/i686-pc-linux-gnu/libjava:/cvs/gcc/trunk/libjava/classpath:/cvs/gcc/trunk/libjava/classpath/external/w3c_dom:/cvs/gcc/trunk/libjava/classpath/external/sax:.:' 
> \
> top_srcdir=/cvs/gcc/trunk/libjava/classpath
>> spawns a recursive make (GNU make 3.80) that consumes some 450MB of
> memory and triggers a system load of 12+, basically rendering the
> machine dead for about a minute.
>> Any ideas how I could nail this down? Anyone else seeing this?

Yes, I notice the same thing on smaller (limited memory) machines.
The problem is that we really have a lot of dependencies between .java
source files, and there are really a lot of these in the core library.
We are pushing make a bit too hard it seems.
This might be caused by my patch to reduce compile time in classpath. I
know I tested memory use back then, but this might have only been with
respect to the gcj invocations. I'll try reversing this patch and retest
later today or tomorrow. But if someone has time earlier then please let
me know if reverting this helps or not.
2005年09月21日 Mark Wielaard <mark@klomp.org>
 * lib/split-for-gcj.sh: Cut list to 3 package levels deep.
http://lists.gnu.org/archive/html/classpath-patches/2005-09/msg00171.html
Andrew Haley also had a suggestion for the step just before this one in
the build process, rewriting split-for-gcj in awk. But I believe that
would still result in the same memory use for make.
http://lists.gnu.org/archive/html/classpath-patches/2005-08/msg00145.html
Other suggestions welcome.
Cheers,
Mark
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
URL: <http://gcc.gnu.org/pipermail/java/attachments/20051204/13292cb6/attachment.sig>


More information about the Java mailing list

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