[cvsnt] Out of memory
Bo Berglund
bo.berglund at telia.com
Thu Oct 6 06:32:29 BST 2005
On Thu, 06 Oct 2005 00:55:18 +0100, Tony Hoyle
<tony.hoyle at march-hare.com> wrote:
>Bo Berglund wrote:
>> If you have files in the list of changed files that are binary, and
>> these files also are rather big and you have committed a lot of revisions
>> already, then the "RCS" file on the server that corresponds to this
>> project file will have grown to very large size.
>> CVS must read the entire contents of the RCS file init memory when
>> it processes the commit so the server must have this amount of RAM
>> available - in fact I think I remember reading somewhere thet CVSNT
>> needs 2 times the size of the RCS file as free RAM.
>>
>It's not quite that inefficient, but it needs around 2* the size of the
>largest version of the file, unless you're checking out HEAD.
>
>Binary diff needs 3* at the moment, due to the way it works (it needs
>both full copies in memory to work out the diff, which may grow
>potentially to the original size).
>
>Tony
I have found that on our repository all operations (tag, update,
commit etc) involving binary files that have lived for some tims so
that there are say 50-100 revisions will get extremely slow.
We have stored the exe files in the repository and these files are
individually about 3-4 Mb, but the RCS file is about 150 Mb now.
If what you say is true then we should not see a difference when the
RCS file grows but we *really* do....
/Bo
(Bo Berglund, developer in Sweden)
More information about the cvsnt
mailing list