Hello,

I am trying to do a merge from one branch to another. Among other
changes, on the changed branch I have added a large, 1 GB file
(packaged oracle -- don't ask). It is a binary type file -kb. During
the merge, all of the RAM and some SWAP is taken and then an "out of
memory" exception is presented. But I do have enough RAM/SWAP to hold
the contents of the file. I even have enough to hold a duplicate of the
file since a binary type file will not be merged, rather copied. I am
now thinking that this thing might need 4 times the file size, 1 for
the original repo file, 1 for the existing file you are tring to add,
and 2 for holding the contents of the concatenated files. But for some
reason, only a bit of swap gets used, I have 3 GB and then the "out of
memory" is thrown.


OS
---------------------
Linux scmcvs 2.4.21-27.0.1.ELsmp #1 SMP Mon Dec 20 18:47:45 EST 2004
i686 i686 i386 GNU/Linux


CVS
----------------------
Concurrent Versions System (CVS) 1.11 (client/server)


*****************************************************


FILE IN QUESTION:
-----------------------
$ ls -l oracle10g.tar
-rw-r--r--    1 cvsuser  cvs      1176514560 Jun 26 16:29 oracle10g.tar

TOP CMD B4 MERGE
-----------------------
Mem:  3082252k av,  424824k used, 2657428k free, 0k shrd, 47296k buff
       280500k active,              63560k inactive
Swap: 2950204k av,       0k used, 2950204k free    237580k cached


MERGE CMD
------------------------
cvs -q up -dP -j REL-4_4_0-LAST-MERGED-TAG -j REL-4_4_0-BRANCH


ERROR MSG
------------------------
<snip>
cvs [update aborted]: out of memory; can not allocate 1176514561 bytes


TOP CMD @ TIME OF ERROR MSG
-------------------------
Mem:  3082252k av, 3064420k used,   17832k free, 0k shrd, 14420k buff
                   2418788k actv,  460520k in_d,   47236k in_c
Swap: 2950204k av,  225456k used, 2724748k free    522232k cached



TOP CMD 10 secs AFTER ERROR MSG
-------------------------
Mem:  3082252k av, 2047188k used, 1035064k free, 0k shrd, 8308k buff
                   1532648k actv,  341764k in_d,   48860k in_c
Swap: 2950204k av,  231060k used, 2719144k free    487084k cached


TOP CMD 30 secs LATER
------------------------
Mem:  3082252k av,  619780k used, 2462472k free, 0k shrd, 8404k buff
                    134164k actv,  323716k in_d,   45560k in_c
Swap: 2950204k av,     116k used, 2950088k free    487072k cached



So I guess my questions are:

1. Assuming that we need more memory, why not all of the swap is used?
I am not trying to say that there's something wrong with 'cvs', rather
just trying to understand the problem.

2. Is there anything that I can do on the repo side (,v file) to make
this tar file available on the 2-nd branch and to the trunk? Assuming I
can edit the file :-)


I would really appreciate any help on this.

Thanks a lot,
Cristian

_______________________________________________
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs

Reply via email to