Re: git gc exit with out of memory, malloc failed error
- From
David Michael Barr <davidbarr@google.com>
- Date
- Sep 15, 2011, 02:20 UTC
- Message-ID
- <CAFfmPPP58J90758TRB2sAj-Wr5HB=rQtaJipKovsHXyTcswuJQ@mail.gmail.com>
- In-Reply-To
- <CAGAhT3mbGB-0q3EKh5MrGqB59wUea7NfaaY18DvnL3qimwh9QA@mail.gmail.com>
On Thu, Sep 15, 2011 at 11:33 AM, Alexander Kostikov <alex.kostikov@gmail.com> wrote:
Show 34 quoted lines
> I'm new to git and I'm getting the following out of memory error on git gc: > > $ git gc > Counting objects: 80818, done. > Delta compression using up to 8 threads. > fatal: Out of memory, malloc failed (tried to allocate 24359675 bytes) > error: failed to run repack > > The only advice I found in the internet suggested to run repack with > --window-memory parameter specified. But this call also fails: > > $ git repack -adf --window-memory=0 > Counting objects: 80818, done. > Delta compression using up to 8 threads. > warning: suboptimal pack - out of memory > fatal: Out of memory, malloc failed (tried to allocate 24356363 bytes) > > How do I cleanup my repository? > > $ git version > git version 1.7.6.msysgit.0 > > OS: Windows Server 2008 R2 SP1 (x64) > Physical memory: 24 GB > The commands listed were executed under x64 console process. > > -- > Thanks, > Alexander Kostikov > -- > To unsubscribe from this list: send the line "unsubscribe git" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html >
Hi,
My understanding is that msysgit is a 32-bit build. So if your existing pack is ~2GB, repack will fail. Also, I think that setting window-memory to 0 means no limit, which is not what you want. One value I have seen suggested is 256m. In my experience, peak memory consumption of repack is proportional to the value of --window, so you might want to try tweaking that. There are quite a few config parameters that affect the memory consumption of repack.
-- David Barr