git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: out of memory problem

From
Andreas Ericsson <ae@op5.se>
Date
Sep 22, 2008, 07:32 UTC
Message-ID
<48D749F7.3030008@op5.se>
In-Reply-To
<alpine.LFD.2.00.0809211556030.19373@homelinux>
Guo Tang wrote:
Show 10 quoted lines
> Gentlemen,
> 
> I try to run "git gc" on linux kernel tree. The virtual memory keeps 
> going up until over 3GB, then crash. 
> Tried twice with the v1.6.0.2, same result.
> Then I used the git coming with FC9 (v1.5.5.1), the peak virutal memory 
> usage is about 1.5GB. "git gc" finished without any trouble. 
> 
> Could there be a memory leak in v1.6.0.2?
> 

There could be, but most likely it's commit 38bd64979a2a3ffa178af801c6a62e6fcd658274 (Enable threaded delta search on BSD and Linux). Do you have multiple cpu's in the computer where 'git gc' was running? If so, and if you've set pack.threads = 0, or --threads=0 it will autodetect the number of CPU's you have and then saturate all of them with work. Each thread will however consume memory close to that of a single process running the repack, so for large repositories you might want to set pack.threads = 1 in such large repositories.

It's a shame you didn't save the unpacked repository, or this could have been properly debugged. While it's possible there is a memory leak, it's a dismal project trying to locate it by staring at the code, and the time it takes to repack huge repositories with memory intensive parameters is sort of prohibitive for finding the possible leak by bisection.

-- 
Andreas Ericsson                   andreas.ericsson@op5.se
OP5 AB                             www.op5.se
Tel: +46 8-230225                  Fax: +46 8-230231
Previous: Guo TangNext: Andreas Ericsson
Message 2 of 4 in “out of memory problem”
  1. Guo TangSep 21, 2008
  2. Andreas EricssonSep 22, 2008
  3. Andreas EricssonSep 23, 2008
  4. guo tangSep 24, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.