环境
- 阿里云的ECS主机,运行: Ubuntu 20.04.4 LTS (GNU/Linux 5.4.0-91-generic x86_64)
问题描述
- 使用git clone 小的仓库,正常
- 使用git clone 大的仓库,发现异常
报错信息
# git clone https:
Cloning into 'linux-at91'...
remote: Enumerating objects: 8554314, done.
remote: Counting objects: 100% (3893/3893), done.
remote: Compressing objects: 100% (1857/1857), done.
error: index-pack died of signal 9554314), 1.90 GiB | 3.00 KiB/s
fatal: index-pack failed
问题分析
- 初步分析,发现不是网络问题,已经花了很长的时间拉下来了
- 因为小的代码仓库可以正常的git clone
- 经过多次尝试,发现报错相同
- 更改文件夹的权限、更改文件夹,问题依旧,这里使用的root,应该不是这个问题
- 经过网络的搜索,最好确认:使用ubuntu 主机【内存过小】引起的
解决方法
- 主机的内存过小,可以加大主机【内存】,这里使用的是阿里云ECS主机,加大内存是需要钱的,所以找到了【加大虚拟内存】的方法
- 通过加大虚拟内存,成功的解决了 git clone 大工程的问题
- 增大虚拟内存后,ubuntu 可以使用
free
命令查看 - 如下:我增加了8G的 Swap
# free
total used free shared buff/cache available
Mem: 1929492 511172 225216 27324 1193104 1203556
Swap: 8388604 576000 7812604
验证
# git clone https:
Cloning into 'linux-at91'...
remote: Enumerating objects: 8554314, done.
remote: Counting objects: 100% (3893/3893), done.
remote: Compressing objects: 100% (1857/1857), done.
remote: Total 8554314 (delta 2208), reused 2661 (delta 2033), pack-reused 8550421
Receiving objects: 100% (8554314/8554314), 2.47 GiB | 11.35 MiB/s, done.
Resolving deltas: 100% (7196511/7196511), done.
Updating files: 100% (70687/70687), done.
小结
- 需要注意开关过程中,开发主机资源的配置问题,尤其是【内存大小】
- 积累总结一些常见问题的分析与解决方法