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

Я не думаю, что это проблема сети.

Гораздо более вероятно, что проблема с памятью. При наличии всего 2 ГБ ОЗУ на сервере и запуске RSYNC на 5G-файле я бы в первую очередь заподозрил сервер. Надеюсь, вы можете следить за памятью сервера, пока он у вас запущен.

На стороне клиента тоже могут быть проблемы. Например, я отказался от RSYNC для Windows, потому что он всегда вылетал на больших файлах, независимо от того, сколько у вас оперативной памяти.

Я бы усомнился, является ли rsync правильным инструментом для работы с такими большими файлами. Конечно, это зависит от файла, но если только какие-либо обновления не поддаются движку diff rsync, то, вероятно, в этом нет смысла. Прямая передача может быть лучше. Вы даже можете использовать что-то вроде zip или tar, чтобы разделить файл, чтобы вы могли отправить его по частям и собрать заново на другом конце.

решение2

попробуйте сделать следующее:

  • уменьшите MTU до 1492

судо ifconfig eth0 mtu 1492

  • отключить TCP SACK

sudo sysctl -w net.ipv4.tcp_sack=0

Связанный контент