您的位置:首页 > 大数据 > 人工智能

【git/内源开发】fatal: Out of memory, malloc failed问题的解决

2015-11-03 22:43 836 查看
fatal: Out of memory, malloc failed (tried to allocate 3179053026 bytes)

fatal: index-pack failed
主要是由于32位和64位机的不同导致的,用下面的方法可以解决
参考地址:http://stackoverflow.com/questions/8855317/git-push-out-of-memory-malloc-failed

首先进入该项目的本地git目录,然后执行git config --global pack.XXX = X
如:git config --global pack.windowMemory 1024m


My advice is to try several git parameters related with pack:
[pack]
threads = 1
deltaChaseSize = 128m
windowMemory = 50m


What it got better results for me was setting 
git
config pack.threads 1
 and 
git
config pack.windowMemory 50m
 (default is 10m).

Still, my host didn't have enough RAM memory (2GB) and kept failing. I hard copied the repo and moved it to another machine with more RAM (8GB). It got better but still failed.

执行完上面的步骤之后,执行git repack重新打包

Finally, I downloaded the latest version of git (https://github.com/git/git),
compile it and install it. That fixed the problem just by running 
git
repack -adf
 with the same parameters. After that I run 
git
gc --aggressive --prune=now


Once I got the repo fixed in my local machine I pushed it to master, overwriting the remote repo, 
git
push -f origin master
.

To prevent similar errors in the future try not to add unnecessary large files to the repo (in my case I got a SQL dump of 3.5GB :)) and disable delta compression for large files (such as images, PDFs, videos). Add the following lines to 
.gitattributes
:
*.pdf -delta
*.jpg -delta

http://kymcuc.blog.163.com/blog/static/201942114201322094421628/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: