動かざることバグの如し

近づきたいよ 君の理想に

ethtoolでネットワークのリンク速度を設定する

Linuxで1GのNICから10GのNICへファイルのコピーをしてたが、めっちゃ遅い。どうもネットワークデバイスが意図しないリンク速度として認識してしまってるらしい。いわゆるオートネゴシエーションが悪さしてるっぽかったので、無効化して手動でリンク速度を設定したのでメモ

ここではethtoolというコマンドを使う

設定確認

ethtool -s eno1

オートネゴシエーションを無効化

ethtool -s eno1 autoneg off

ethtool -s eno1 autoneg onでもとに戻る

全二重として設定

ethtool -s eno1 duplex full

リンク速度の設定

ここでは1Gに設定している。

ethtool -s eno1 speed 100

設定可能な速度は

cat /sys/class/net/<interface>/speed

でわかる。存在しない速度を指定してしまうとネットワークに接続できなくなってしまうので注意(体験談

実は一括でも設定できる

ethtool -s eno1 speed 100 duplex full autoneg off

pingで見てる感じだと、1回の設定に約4秒程度ネットワークの接続が切れているようだった。ただ一括設定のときと個別設定で途切れてる時間は同じだったので一括で設定したほうがダウンタウンは最小限に抑えられる

参考URL