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

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/
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 当你在克隆代码时遇到"fatal: Out of memory, malloc failed (tried to allocate 1058576000 bytes)"的错误时,这通常是由于内存不足导致的。为了解决这个问题,你可以尝试以下方法:首先,创建一个临时目录并设置权限: sudo mkdir -p /opt/temp sudo chmod 600 /opt/temp/swapfile 然后,使用dd命令创建一个交换文件: sudo dd if=/dev/zero of=/opt/temp/swapfile bs=1M count=1024 接下来,使用mkswap命令将交换文件格式化为swap文件系统: sudo mkswap /opt/temp/swapfile 最后,使用swapon命令启用交换文件: sudo swapon /opt/temp/swapfile 这样应该能够解决内存不足的问题。\[2\] 另外,如果你想了解更多关于Git的配置信息,你可以使用以下命令来查看Git的所有配置: git config --global --list 如果你想编辑配置文件,可以使用以下命令: git config --global --edit 如果你想删除全局配置项,可以使用以下命令: git config --global --unset user.name 这些命令可以帮助你管理Git的配置信息。\[3\] #### 引用[.reference_title] - *1* *3* [Git clone代码报“fatal: Out of memory, malloc failed (tried to allocate 1058576000 bytes)”的解决...](https://blog.csdn.net/lovedingd/article/details/125595649)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [报错解决: fatal: Out of memory, malloc failed](https://blog.csdn.net/dfkc76453/article/details/102083479)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值