我知道这个问题已经被问了很多,但我没有找到任何解决方案来解决我的问题。
我的同事给我分配了一个新项目。该应用程序托管在安装了 git 的测试 Debian 服务器上。
首先我创建了我的分支:
git checkout -b mybranch
然后我对一些文件做了一些小的修改。
当我尝试将其推送到 Github 时(使用我的 github 帐户)
git add myfile.php
git commit -m "my first commit"
git push origin mybranch
我收到此错误:
致命:内存不足,malloc 失败
我不明白这是什么意思。我尝试推送的文件总大小为 156Ko。而且该项目的总规模仅为10,9Mo。
我尝试重新启动服务器,但同样的情况发生。
当我free
在服务器上运行时,我得到:
total used free shared buffers cached
Mem: 505312 239532 265780 0 51576 71580
-/+ buffers/cache: 116376 388936
Swap: 0 0 0
我的同事以前从未遇到过这个问题,即使在同一台测试服务器上也是如此。
有人可以向我强调此错误的原因和可能的解决方法吗?
提前致谢。
答案1
事实证明确实是内存问题。 268mo 还不足以让 git 正常运行。
我通过向服务器添加 1Go 的交换解决了这个问题:
$ sudo fallocate -l 1G /swapfile
$ sudo chmod 600 /swapfile
$ sudo mkswap /swapfile
$ sudo swapon /swapfile
答案2
我在 docker 中运行 jenkins 时遇到了同样的错误
我停止容器并运行 git,这解决了问题
尝试释放更多 RAM 空间
答案3
我检查了我的内存使用情况。
输入命令:
free -mh
我的内存已经所剩无几了。
所以我停止了我的 Docker 容器并再次检查了我的 RAM。
现在已经恢复正常了。