47

特定のubuntu10.04サーバーがあり、このサーバーがあるオフィスの外にあるサーバーからファイルをSSH接続すると(つまり、このサーバー内からLAN経由でこのサーバーにscpを実行すると、何らかの理由で常に機能します) 、その後、サイズが2112 kBを超えるファイルの場合、scp-ingは失敗し、2112kBでスタックします。それで

scp -vvv /home/attila-szeremi/aszeremi.tar.gz  attila@server.hu:~/aszeremi.tar.gz

1% 2112KB 909.2KB/s - stalled -は、最後に動的に、KB/sがどんどん低くなるようなものを示しています。

誰かがこれを引き起こしている可能性があり、どうすれば修正できるか知っていますか?

私がこれまでに試したこと:

  • scp -l 2000で速度を制限します。ファイルの送信が遅くなり、2112kBで再びスタックしました。
  • -Cで圧縮を有効にします。それはまだ同じサイズで失速していました。
4

5 に答える 5

34

この問題を解決する唯一の方法は、TCPSACKを無効にすることでした。

$ sudo sysctl -w net.ipv4.tcp_sack=0
于 2012-11-19T08:05:06.273 に答える
33

私は修正を見つけたようです。次の方法で、LANカードのmtu設定を1492に設定する必要がありました。

# ifconfig eth0 mtu 1492
于 2012-08-16T11:00:29.577 に答える
12

新しいLinuxシステムでは、ifconfigコマンドがipに置き換えられている可能性があります

mtuを設定するコマンドは次のようになります。

# ip link set dev eth0 mtu 1492
于 2014-06-03T15:55:23.447 に答える
2

私はMacOSXで同じことで行き詰まり、@dav.garciaの答えは小さな変更で私のためにそれをしました:

  $ sudo sysctl -w net.inet.tcp.sack=0
于 2016-01-21T21:13:54.733 に答える
0

私はこれと同じ問題を見ていました。上記の提案はどれも私にはうまくいきませんでしたが、彼らは私を正しい道に導いてくれました。MTU設定が1300に設定されたファイアウォールの背後にいました。LANカードのMTUを非常に低く(576、ややランダム)に設定すると、パケットのドロップが停止しました。

$ sudo ifconfig eno1 mtu 576

Linuxクライアントのそれぞれでこれを行う必要がありました。何らかの理由で、同じサブネット上のWindowsマシンに問題はありませんでした。

于 2016-09-10T19:18:14.153 に答える