VineLinuxパフォーマンスアッププロジェクト:0183
■NICのリンク速度を強制的に変更する方法■
高速通信可能なNICをPCに取り付けても期待したほど速度が伸びないとか、最近どうも転送速度が遅いなどという症状はないでしょうか。
こんな時は一度NICのリンク速度を強制的に変更してみましょう。
▼ethtoolのインストール
ethtoolはNICの状況を調べたり、接続設定を変更できるツールです。残念ながらVineLinuxには用意されていませんので、こちらからダウンロード・インストールしてください。
インストールは
rpm -ivh ethtool-1.5-1.i386.rpm
でOKです。
▼ethtoolの使い方
現在のNICの状況を調べるには
ethtool インタフェース名(eth0など)
で以下のような感じで表示されます。
Settings for eth0:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised auto-negotiation: Yes
Speed: 100Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 0
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: umbg
Wake-on: g
Current message level: 0x00000007 (7)
Link detected: yes
上記の例では1000baseT/Fullが使用できるにもかかわらず、実際には100Mb/sの設定となっています。せっかく高速な環境が利用できるのにもったいないですよね。
そこで強制的に1000Mb/sの設定に変更します。変更は
ethtool -s インタフェース名(eth0など) speed 1000
でOKです。
その他、全二重・半二重モードやオートネゴシエーション機能の変更も可能です。
詳細についてはこちらをご覧ください。
▼起動時に自動的に設定を反映させる方法
ethtoolで設定した内容を再起動後にも反映させるにはNICの設定が記載されたファイルにその旨を記述します。
具体的には、テキストエディタで/etc/sysconfig/network-scripts/ifcfg-eth0等を開き、以下の赤字部分を記述します。
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes
ETHTOOL_OPTS="speed 1000"
TYPE=Ethernet
接続形式がdhcpでも固定IPでもどちらでも設定は可能です。
上記の例では1000Mb/sが使用できるようにする内容を記載したものですが、全二重・半二重モードやオートネゴシエーション機能の変更等も同様に記載ができます。
詳細についてはこちらをご覧ください。