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