【问题标题】:git clone out of memory even with 5.6GB RAM free and 50 GB hard disk即使有 5.6GB RAM 和 50GB 硬盘,git clone 也会内存不足
【发布时间】:2012-08-22 06:47:30
【问题描述】:
 git clone http://vkaul@stash.int.linz.jumio.com/git/BUILD/build-tools.git
cloning into 'build-tools'...
fatal: Out of memory, malloc failed (tried to allocate 2000000000 bytes)
fatal: write error: Invalid argument

我知道之前有人问过这个问题,但在这种情况下,解决方法是增加 RAM。现在奇怪的是存储库有 2.2GB 大,我有 5.5GB 可用 RAM 和 50GB 可用硬盘。为什么会出现这个错误?有什么想法吗?

【问题讨论】:

  • 可能是 stackoverflow.com/q/7607970/877115 的欺骗。另请查看:stackoverflow.com/a/1590232/877115。两者都列出了不涉及增加 RAM 的解决方案。
  • 我想要一个非 scp 解决方案。鉴于其他人能够克隆而我无法这样做。上述链接中的其他解决方案与 RAM 和硬盘驱动器有关,这不是我的问题。

标签: git


【解决方案1】:

有一个名为 packSizeLimit 的配置属性。在我的 Git 安装中,默认设置为 2G。也许您的安装也是如此。您可以通过以下方式进行检查

git config -l

在命令行上查看是否有一个名为 pack.packSizeLimit 的条目。如果是这样,请尝试增加该值。

【讨论】:

  • 自 2011 年以来情况发生了变化吗? This answer 建议 git 不查看 packSizeLimit
  • 我确实尝试将数据包大小限制增加到 4g 而不是 2g,但它给了我错误数据包大小的错误。现在我将其更改为 3g,但它给出了相同的错误。 $ git config --global pack.packsizelimit 3g vkaul@NBVK /c/GIT_build $ git clone vkaul@stash.int.linz.jumio.com/git/BUILD/build-tools.git 克隆到 'build-tools'... 致命:内存不足,malloc 失败(试图分配 2000000000 字节)致命:写入错误:参数无效
【解决方案2】:

我在使用 MSysGit 32 位的 Windows 上遇到了类似的问题。 来自Cygwin 的 git 64 位完成了这项工作。 也许你的本地机器是 32 位的,而另一台服务器是 64 位的......

我的original answer 可在问题Git on Windows, “Out of memory - malloc failed” 中找到。

【讨论】:

  • 请不要创建重复的答案。一般是frowned upon。如果您认为问题重复,您可以在获得足够代表后vote to close it,或flag it
  • 你是对的@Hasturkun,复制相同的答案不是一个好的解决方案(感谢链接)。这些问题很相似,但实际上并不重复……我已经重新制定了当前问题上下文的答案。但是,我也复制粘贴(复制)了链接的答案。我的情况是,一种处理的好方法可能只是将相同的答案内容(没有复制粘贴)放在问题的评论中......或者我应该更多地调整我的类似答案以适应问题上下文......你呢?干杯 ;)
猜你喜欢
  • 1970-01-01
  • 2012-12-24
  • 1970-01-01
  • 2013-10-05
  • 2013-09-26
  • 2016-04-11
  • 1970-01-01
  • 2015-08-21
  • 1970-01-01
相关资源
最近更新 更多