threads / discuss / 17757

git gc --prune consumes *lots* of memory with repos cloned with --reference

Subject: git gc --prune consumes *lots* of memory with repos cloned with --reference

## tl;dr

3 messages between Feb 12, 2009 and Feb 12, 2009.

replies: 2people: 2as markdown or json

Jon Nelson· Feb 12, 2009, 18:32 UTC · lore
The situation:

I cloned linux-2.6 Then I cloned netdev-2.6 with --reference $PWD/linux-2.6 Then I cloned net-2.6 with --reference $PWD/netdev-2.6

The problem:

git gc --prune on netdev-2.6 takes WAY more memory than git gc --prune on linux-2.6 git gc --prune on net-2.6 takes WAY WAY more memory. 1.5G and counting.

Why does git gc --prune take 1.5G? (git pack-objects is the actual memory-hungry process)

-- Jon

Björn Steinbrink· Feb 12, 2009, 18:59 UTC · re: Jon Nelson · lore

Re: git gc --prune consumes *lots* of memory with repos cloned with --reference

On 2009.02.12 12:32:13 -0600, Jon Nelson wrote:
Show 14 quoted lines
> The situation:
> 
> I cloned linux-2.6
> Then I cloned netdev-2.6 with --reference $PWD/linux-2.6
> Then I cloned net-2.6 with --reference $PWD/netdev-2.6
> 
> The problem:
> 
> git gc --prune on netdev-2.6 takes WAY more memory than git gc --prune
> on linux-2.6
> git gc --prune on net-2.6 takes WAY WAY more memory. 1.5G and counting.
> 
> Why does git gc --prune take 1.5G? (git pack-objects is the actual
> memory-hungry process)

Probably an older git version? There was a bug that caused a memory leak with unreachable objects being forced to be loose objects. That was fixed in 1.6.0.3

Björn
Jon Nelson· Feb 12, 2009, 20:37 UTC · re: Björn Steinbrink · lore

Re: git gc --prune consumes *lots* of memory with repos cloned with --reference

Indeed - I was running 1.6.0.2.

I tried 1.6.1.3 and it certainly helped the memory consumption problem, although for some reason it went very slowly the first time.

Thanks!
On Thu, Feb 12, 2009 at 12:59 PM, Björn Steinbrink <B.Steinbrink@gmx.de> wrote:
>
> Probably an older git version? There was a bug that caused a memory leak
> with unreachable objects being forced to be loose objects. That was
> fixed in 1.6.0.3

-- Jon

← back to recent threads