Last modified: 2013-11-18 23:53:49 UTC
By default git comes with 8GB to map pack files in memory (core.packedGitLimit). Whenever we run `git gc --aggressive` the machine is sent to swap when processing certain repositories (i.e. mediawiki/core). We could use the puppet class git::userconfig to set the parameter for the jenkins user.
Change 95123 had a related patch set uploaded by Hashar: contint: jenkins git config core.packedGitLimit=2G https://gerrit.wikimedia.org/r/95123
Change 95123 merged by Faidon Liambotis: contint: jenkins git config core.packedGitLimit=2G https://gerrit.wikimedia.org/r/95123
Turns out the real memory hog is git repack-objects, its window memory limit can be set in recent git versions with pack.windowMemory=2GB or git repack --window-memory. That is not available in git version 1.7.9.5 which we are using :/ Keeping bug open with low priority until we update git.
Pending git upgrade. Unassigning self. :(