CentOs 6,大文件的 rsync/scp 在 40%(2.4G)处停止

CentOs 6,大文件的 rsync/scp 在 40%(2.4G)处停止

我正尝试从远程服务器下载一个大文件(~5G)到本地笔记本电脑,但下载在大小的 40%(2.4G)处停止。

我正在使用这个 rsync 命令:

rsync --bwlimit=1200 -rh --progress -e 'ssh -p port' server:/path/to/file Downloads/

我还尝试将服务器上的 mtu 从 1500 降低到 1492,但没有成功。

有什么建议吗?:D

答案1

我不认为这是一个网络问题。

更有可能是内存问题。服务器只有 2GB RAM,并且对 5G 文件运行 RSYNC,我首先怀疑是服务器的问题。希望您可以在运行服务器时监控服务器内存。

客户端也可能有问题。例如,我放弃了 Windows 版 RSYNC,因为无论你有多少 RAM,它在处理大文件时总是会崩溃。

我不得不怀疑 rsync 是否是处理如此大文件的最佳工具。当然这取决于文件,但除非任何更新都适合 rsync 的 diff 引擎,否则可能没有意义。直接传输可能更好。您甚至可以使用 zip 或 tar 之类的工具来拆分文件,以便将其分成几部分发送并在另一端重新组装。

答案2

请尝试以下操作:

  • 将 MTU 降低至 1492

sudo ifconfig eth0 mtu 1492

  • 禁用 TCP SACK

sudo sysctl -w net.ipv4.tcp_sack=0

相关内容