GIT:致命:内存不足,malloc失败(试图分配889192448字节)

Joe*_*man 11 git

将项目推送到tfs GIT时出现此错误.

致命:内存不足,malloc失败(试图分配889192448字节)

lin*_*lin 12

.git/config在 Unix 或.gitconfigWindows上编辑并修改以下参数。通过运行git config --list --show-origin你可以找到你的 gitconfigs。

[core]
  packedGitLimit = 128m
  packedGitWindowSize = 128m

[pack]
  deltaCacheSize = 128m
  packSizeLimit = 128m
  windowMemory = 128m

[http]
  postbuffer = 5m
Run Code Online (Sandbox Code Playgroud)

如果您通过 CLI 使用 git,请确保在更改此设置后重新启动 shell/终端。


小智 6

我通过减小postbuffer尺寸来解决此问题:

[http]
    postbuffer = 5m
Run Code Online (Sandbox Code Playgroud)


use*_*966 5

所以它基本上需要的是 889192448 字节(约 889MB)的可用内存。出现此错误有 2 个原因

  • 当您的 RAM 空间不足时。
  • Git 设置的内存限制不满足要求。

检查基于 Linux 的系统上的可用内存。

free -h
Run Code Online (Sandbox Code Playgroud)

如果可用内存大于所需内存,则无需在此处执行任何操作,否则您需要添加交换内存以增加 RAM 上的可用可用空间。

如果 RAM 的空闲内存已经满足所需的内存,那么您需要配置 git 以利用它。您可以通过以下方式执行此操作:

git config pack.packSizeLimit 1g
git config pack.deltaCacheSize 1g
git config pack.windowMemory 1g
git config core.packedGitLimit 1g
git config core.packedGitWindowSize 1g
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助。