Git push - 不理想的包 - 内存不足 [英] Git push - suboptimal pack - out of memory

查看:1149
本文介绍了Git push - 不理想的包 - 内存不足的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我真的可以在这里使用一些帮助。

我刚创建了一个新的裸回购作为开发推动的生产目标。
我也在服务器上有一个工作的web目录作为git仓库。
服务器在centos5.5上运行git 1.7.4.1



在web目录中创建新的repo后,我执行了一个git add。
它汇总了类似2300&一些奇怪的文件&超过230k插入。



我做了新添加的文件库的提交。去了很好,干净。
当我做了一个git push origin master的时候,它一直给我这个(请注意,我有8个CPU,因此8个线程.docs说这是正常的);

 #git push --mirror 
计数对象:2000,完成。
使用多达8个线程的增量压缩。
警告:次优包 - 内存不足
致命:inflateInit:内存不足(无消息)
错误:无法将某些参考推送到'/home/ggadmin/gg-prod.git '

我尝试了以下方法来解决这个问题,但都产生相同的结果;

  git repack -adf --window-memory = 100m 
^尝试将此运行至1024m。同样的结果。

即使尝试了强制推送,但得到了同样的结果,只有malloc错误;

 #git push -f origin master 
计数对象:2000,done。
使用多达8个线程的增量压缩。
警告:次优包 - 内存不足
fatal:内存不足,malloc失败(试图分配2340字节)
错误:无法将某些文件推送到'/ home / ggadmin / gg -prod.git'

我已经为此工作了2天,并尝试了几乎所有我可以在谷歌和这里找到。



我已经完成了我的智慧,试图让这个问题得到解决。请告诉我,有人在那里知道做什么可以做到这一点?

解决方案


  1. May git是处理大量大块的次优工具。

  2. 您可以禁用多线程压缩以节省内存: git config pack.threads 1 (除了其他内存限制选项外,比如新的Git中的 core.bigfilethreshold


I could really use some help here.

I just created a new bare repo to act as a production target for dev pushes. I also have the working web directory on the server as a git repo. The server is running git 1.7.4.1 on centos5.5

After creating the new repo in the web directory, I performed a git add . It tallied up something like 2300 & some odd files & over 230k insertions.

I did a commit of the newly added file base. Went nice and clean. When I did a git push origin master though, it keeps giving me this (please note, I have 8 CPUs, hence the 8 threads. docs say this is normal);

# git push --mirror
Counting objects: 2000, done.
Delta compression using up to 8 threads.
warning: suboptimal pack - out of memory
fatal: inflateInit: out of memory (no message)
error: failed to push some refs to '/home/ggadmin/gg-prod.git'

I have tried the following things to resolve this, but all yield the same results;

git repack -adf --window-memory=100m
                                ^ tried running this up to 1024m. Same result.

Even tried a force push, but got the same thing, only with a malloc error;

# git push -f origin master
Counting objects: 2000, done.
Delta compression using up to 8 threads.
warning: suboptimal pack - out of memory
fatal: Out of memory, malloc failed (tried to allocate 2340 bytes)
error: failed to push some refs to '/home/ggadmin/gg-prod.git'

I've been working on this for 2 days now and tried just about everything I can find on google and here on SO.

I have reached my wits end with trying to get this fixed. Please tell me that someone out there knows what can be done to make this work?

解决方案

  1. May be git is suboptimal tool for handling large amount of big blobs.
  2. You can disable multi-threaded compression to save memory: git config pack.threads 1 (in addition to other memory limiting options, like core.bigfilethreshold in newer Git)

这篇关于Git push - 不理想的包 - 内存不足的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆