Re: pack operation is thrashing my server
From: Shawn O. Pearce <hidden>
Date: 2016-06-15 22:45:08
Ken Pratt [off-list ref] wrote:
I'm having memory issues when trying to clone a remote git repository. The remote repository is bare, and is 180MB in size (says du), with 1824 objects. The remote (VPS) server is running git version 1.5.6.4 on Arch Linux on a x86_64 Opteron with 256MB of dedicated RAM. PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 21782 kenpratt 20 0 444m 212m 272 D 3 83.0 0:04.98 git-pack-object
Well, clearly the server is swapping at this point. 212m resident for this git-pack-objects process leaves no room available for anything else. Git is using too much memory for this system.
I've tried very conservative pack settings:
[pack]
threads = 1
windowmemory = 64M
deltacachesize = 1M
deltacachelimit = 1MHave you tried something like this? [core] packedGitWindowSize = 16m packedGitLimit = 64m [pack] threads = 1 windowMemory = 64m deltaCacheSize = 1m On a 64 bit system packedGitWindowSize and packedGitLimit have very large thresholds which will cause it to mmap in the entire pack file. You may need to try even smaller settings than these; 256m physical memory isn't a lot when dealing with a repository 180m in size. Especially on a 64 bit system. -- Shawn.