Git Clone 错误:index-pack 因信号 9 而死亡

6

我已经尝试通过谷歌和其他帖子进行了研究,但是找不到适用于我的解决方案。我通过SSH连接到服务器,并尝试克隆现有的git repo,方法是使用git clone https://github.com/myrepo命令克隆到此服务器。不幸的是,这导致以下错误:

error: index-pack died of signal 9 fatal: index-pack failed

完整的错误信息如下:

remote: Enumerating objects: 20132, done.
remote: Counting objects: 100% (20132/20132), done.
remote: Compressing objects: 100% (18700/18700), done.
remote: Total 20132 (delta 1176), reused 20129 (delta 1174), pack-reused 0
Receiving objects: 100% (20132/20132), 826.83 MiB | 18.76 MiB/s, done.
error: index-pack died of signal 9
fatal: index-pack failed

我看到可能是存储问题,但找不到任何有效的解决方案。即使调整了内存大小也没有起作用。我使用了这些命令。

git config pack.windowMemory 10m
git config pack.packSizeLimit 20m

但仍然收到相同的错误。我还尝试使用 git clone --depth 1 https://github.com/myrepo 进行浅层克隆,但结果仍然是相同的错误。
我的 repo 存储在 Github 上。本地拉取和推送没有任何问题(我在 xampp 中有另一个副本)。我还尝试在本地计算机上克隆它 - 这可以正常工作,但只要通过 SSH 连接到服务器,就无法正常工作。服务器上的 git 版本为 2.17.1。
您有什么建议?我尝试使用 GIT_TRACE=1 跟踪错误,但无法获得更多信息。

1
尝试使用这些设置:https://dev59.com/4G025IYBdhLWcg3wVkef#6066772 - phd
我现在尝试了一下,不幸的是,结果仍然是相同的错误。 - Bine
3
信号编号9是SIGKILL。如果Git来自系统接收到随机的SIGKILL信号,这很可能是由于“OOM killer”引起的。最好的解决方案是获取更多的内存。次优选项是减轻系统负载。 - torek
4
谢谢大家。我现在通过排除媒体文件来减小了存储库的大小。这实际上是一个内存问题。现在使用较小的存储库,它可以完美地工作了。 - Bine
2
我在512MB RAM的VPS上遇到了同样的问题。我添加了swapfile,问题得到了解决。感谢这里的每个人! - Tsar Ioann
显示剩余2条评论
1个回答

7

我通过将我的虚拟机的内存从1GB增加到2GB来解决了这个问题。


增加更多的内存也解决了我的问题。 - Akash
我在 Kubernetes Pod 中遇到了相同的问题,增加 Pod 的资源解决了它。 - Anton Ermakov

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接