git克隆或通过慢速网络拉取大型回购协议最终导致致命的EOF
我有一个超过2GB的远程回购协议(1个主分支)。我有一个大约2-4Mbps的ADSL宽带连接。我试图复制回购协议。 但是,我得到以下错误: 致命:远程端意外挂起 致命:早期EOF 致命:索引包失败 我在Stack Overflow和其他地方搜索,并试图克隆一个裸回购协议。 后来我尝试增量获取(我需要所有的修订)。 它再次失败,错误与克隆相似 我在办公室尝试了从光纤宽带链路克隆,它似乎工作得很好。 我怀疑git存在超时问题。你能帮我解决这个问题吗 更新:repo只支持https,不支持ssh 谢谢,git克隆或通过慢速网络拉取大型回购协议最终导致致命的EOF,git,clone,eof,Git,Clone,Eof,我有一个超过2GB的远程回购协议(1个主分支)。我有一个大约2-4Mbps的ADSL宽带连接。我试图复制回购协议。 但是,我得到以下错误: 致命:远程端意外挂起 致命:早期EOF 致命:索引包失败 我在Stack Overflow和其他地方搜索,并试图克隆一个裸回购协议。 后来我尝试增量获取(我需要所有的修订)。 它再次失败,错误与克隆相似 我在办公室尝试了从光纤宽带链路克隆,它似乎工作得很好。 我怀疑git存在超时问题。你能帮我解决这个问题吗 更新:repo只支持https,不支持ssh 谢谢
Srinivasa Pradeep您可以使用它将存储库“捆绑”到单个文件中,并通过可以恢复中断下载的http服务器将其获取 根据进行克隆的工作站上处理器内核的数量,Git 2.29(2020年第4季度)可能会改善这种情况 很久以前,在并行运行
index pack
任务时,默认情况下只使用了3个线程:这已经稍微向上调整了一点
参见(2020年8月21日)by.(由年合并,2020年8月31日) :调整默认螺纹帽 签字人:杰夫·金 提交(“
index pack
:支持多线程增量解析”,2012-05-06,Git v1.7.11-rc0--)描述了一个实验,该实验表明将index pack的线程数设置为大于3没有帮助
我使用更现代的Git版本和更现代的CPU重复了那个实验,得到了不同的结果
以下是p5302在我的笔记本电脑上运行的时间,该笔记本电脑是一款核心i9-9880H,具有8个核心和超线程(因此在线CPU返回16个):
您可以看到,随着内核数量的增加,挂钟时间继续显著提高,但超出这个范围(进入超线程领域)并没有帮助(事实上有点痛)
这是在配备双Xeon 6230的机器上进行的相同实验,共有40个内核(80个具有超线程):
结果相似;在40个线程时,情况停止改善
奇怪的是,从20到40也没有多大帮助(而且大大增加了CPU时间)。因此,这可能是并行性的一个实际障碍,因为上下文切换和缓存位置的丢失导致了我们的损失,但由于粗粒度锁的争用,我们并没有获得挂钟的好处 那么什么是好的默认值 很明显,目前3的上限太低了;我们的默认值比每台机器上的最佳时间分别慢42%和57%。
在40核机器上的结果表明,无论核数多少,20个线程都是一个实际的屏障,因此我们将其视为最大值。
我们在这些机器上以在线CPU价值的一半获得最佳结果。这大概是超读的结果。这在多核Intel处理器上很常见,但在其他地方不一定如此。
但如果我们把它作为一个假设,我们可以在超线程机器上实现最佳性能,并且仍然比其他机器上的现状要好得多,只要我们永远不低于当前值3的一半 这就是这个补丁的作用
您是否也会从Git以外的其他来源下载其他大型内容?如果是这样,那么Git就不是问题,你应该研究一下你的连接。我已经通过https从其他网站下载了接近1GB的内容。他们需要时间,但最终完成我曾经有过同样的问题。我的文件大约是1.5 GB。正如一位朋友建议的那样,我尝试使用GIT桌面,它对我有效。昨天我正在浏览这个链接。我能够上传捆绑包并通过ftp将其发送到目标计算机。我只想补充一点,一旦您从目标计算机上的捆绑包创建了克隆,如果您想从现在开始推送或拉取更改,您可能还需要设置远程服务器的url。我做过git远程设置url源代码,你能澄清这与OP的问题有什么关系吗?是否有理由相信增加线程将有助于低带宽网络?@eis增加
索引包
使用的内核数量(在客户端,这涉及到git克隆
)将减少获取的机会,如OP所示,“索引包失败
”。因为索引包
将更快完成,避免任何超时。确定。我想如果我读对了,只有当您的计算机上有6个以上的内核时,这才会有所改善,因为默认值是3个,而内核数量的一半才是最佳值。@eis是的,对于最新的AMD处理器,超过6个内核开始成为默认选项。
5302.3: index-pack 0 threads 256.28(253.41+2.79)
5302.4: index-pack 1 threads 257.03(254.03+2.91)
5302.5: index-pack 2 threads 149.39(268.34+3.06)
5302.6: index-pack 4 threads 94.96(294.10+3.23)
5302.7: index-pack 8 threads 68.12(339.26+3.89)
5302.8: index-pack 16 threads 70.90(655.03+7.21)
5302.9: index-pack default number of threads 116.91(290.05+3.21)
5302.3: index-pack 0 threads 310.04(302.73+6.90)
5302.4: index-pack 1 threads 310.55(302.68+7.40)
5302.5: index-pack 2 threads 178.17(304.89+8.20)
5302.6: index-pack 5 threads 99.53(315.54+9.56)
5302.7: index-pack 10 threads 72.80(327.37+12.79)
5302.8: index-pack 20 threads 60.68(357.74+21.66)
5302.9: index-pack 40 threads 58.07(454.44+67.96)
5302.10: index-pack 80 threads 59.81(720.45+334.52)
5302.11: index-pack default number of threads 134.18(309.32+7.98)