【发布时间】:2019-11-15 23:43:00
【问题描述】:
我已经尝试通过 google 和其他帖子进行研究,但找不到适合我的解决方案。我通过 SSH 连接到服务器,并尝试通过 git clone https://github.com/myrepo 将现有的 git repo 克隆到该服务器。不幸的是,这结束了
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 尝试了一个浅克隆。它会导致相同的错误。
我的仓库存储在 github 上。拉取和推送本地工作没有任何问题(我在 xampp 的本地系统上有另一个副本)。我也尝试在我的本地机器上克隆它 - 这没有任何问题。只要我通过 ssh 连接到服务器,它就不起作用。服务器上的git版本是2.17.1
有什么建议吗?我尝试使用 GIT_TRACE=1 跟踪错误,但无法获得更多信息
【问题讨论】:
-
我现在试过了,很遗憾,还是一样的错误
-
信号 9 是 SIGKILL。如果 Git 从系统中获取随机 SIGKILL,这可能是由于 "OOM killer"。最好的治疗方法是获得更多的内存。其次是减少系统负载。
-
谢谢,伙计们。我现在通过排除媒体文件来减小 repo 的大小。这确实是一个内存问题。现在它可以完美地与较小的 repo 配合使用。
-
我在 512MB RAM 的 VPS 上遇到了同样的问题。我添加了swapfile,问题就解决了。谢谢大家!