当我将我的项目推送到TFS Git时,出现了以下错误:
致命错误:内存不足,malloc失败(尝试分配889192448字节)
当我将我的项目推送到TFS Git时,出现了以下错误:
致命错误:内存不足,malloc失败(尝试分配889192448字节)
我通过减少postbuffer
的大小来解决了这个问题:
[http]
postbuffer = 5m
在Unix上编辑.git/config
或Windows上的.gitconfig
并修改以下参数。通过运行git config --list --show-origin
命令,您可以找到您的git配置文件。
[core]
packedGitLimit = 128m
packedGitWindowSize = 128m
[pack]
deltaCacheSize = 128m
packSizeLimit = 128m
windowMemory = 128m
[http]
postbuffer = 5m
如果您正在通过CLI使用git,请确保在更改此设置后重新启动您的shell/terminal。
~/.gitconfig
。 - Andreas von Studnitz因此,它基本上需要 889192448 字节(约为 889MB)的可用内存。
要检查基于 Linux 的系统上的可用内存,请执行以下操作。
free -h
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
我通过关闭大量占用内存的应用程序(例如Visual Studio和SQL Server),并重新推送来解决了此问题。
我解决了这个问题,通过给我的服务器添加内存。原先只有512MB的内存,我将其扩展到了2GB。
我在Windows上遇到了同样的问题,只是换了一个分支。最终,我无法拉取或获取我的项目,因为出现了内存错误("尝试分配..."等)。我使用增加git pack和核心限制的技巧,但这对我没有用。最终,我从电脑中删除了git并重新安装。问题得到解决。
.gitignore
文件,然后将我的文件复制到那里。虽然不是一个好的解决方案,但这是我能找到的最好的解决方案,直到我能找到一种完全从所有历史记录中删除它的方法。ls -lS
。我在使用1G RAM的Ubuntu时遇到了同样的问题,后来我增加了一些交换空间(多了1G)。现在它可以正常工作了。
[http]
postbuffer = 9999999999
你可以试试这个,也许对你有用。祝你好运。:)