转载:http://linfengdu.blog.163.com/blog/static/117710732010112124631684/

命令描述:

ethtool 是用于查询及设置网卡参数的命令。

使用概要:
ethtool ethx       //查询ethx网口基本设置,其中 x 是对应网卡的编号,如eth0、eth1等等
ethtool –h        //显示ethtool的命令帮助(help)
ethtool –i ethX    //查询ethX网口的相关信息 
ethtool –d ethX    //查询ethX网口注册性信息
ethtool –r ethX    //重置ethX网口到自适应模式
ethtool –S ethX    //查询ethX网口收发包统计
ethtool –s ethX [speed 10|100|1000] [duplex half|full]  [autoneg on|off]        //设置网口速率10/100/1000M、设置网口半/全双工、设置网口是否自协商

使用举例:
1)[root@linux /]# ethtool eth1
   Settings for eth1:
        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: 1000Mb/s
        Duplex: Full
        Port: Twisted Pair
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: on
        Supports Wake-on: umbg
        Wake-on: d
        Link detected: yes
2)[root@linux /]# ethtool -i eth1
   driver: e1000
   version: 5.0.43-k1
   firmware-version: N/A
   bus-info: 06:08.1
3)[root@linux /]# ethtool -S eth1
   NIC statistics:
     rx_packets: 58068300
     tx_packets: 87124083
     rx_bytes: 1589713008
     tx_bytes: 2165825901
     rx_errors: 0
     tx_errors: 0
     rx_dropped: 0
     tx_dropped: 0
     multicast: 0
     collisions: 0
     rx_length_errors: 0
     rx_over_errors: 0
     rx_crc_errors: 0
     rx_frame_errors: 0
     rx_fifo_errors: 0
     rx_missed_errors: 0
     tx_aborted_errors: 0
     tx_carrier_errors: 0
     tx_fifo_errors: 0
     tx_heartbeat_errors: 0
     tx_window_errors: 0
4)[root@linux /]# ethtool -s eth1 autoneg off speed 100 duplex full 

        设置网卡为全双工自适应 速度为100Mbs

查看机器上网卡的速度:百兆还是千兆,请输入:

    ethool eth0

    操作完毕后,输出信息中‘Speed:’ 这一项就指示了网卡的速度。

停止网卡的发送模块TX,请输入:

    ethtool -A tx off eth0

    操作完毕后,可输入:ethtool -a eth0,查看tx模块是否已被停止。

查看网卡eth0采用了何种驱动,请输入:

    ethtool -i eth0

    操作完毕后,显示 driver: bnx2;version: 1.4.30 等信息。

关闭网卡对收到的数据包的校验功能,请输入:

    ethtool -K eth0 rx off

    操作完毕后,可输入:ethtool –k eth0,查看校验功能是否已被停止。

如果机器上安装了两块网卡,那么eth0对应着哪块网卡呢?输入:

    ethtool -p eth0 10

    操作完毕后,看哪块网卡的led灯在闪,eth0就对应着哪块网卡。

查看网卡,在接收/发送数据时,有没有出错?请输入:

    ethtool –S eth0

将千兆网卡的速度降为百兆,请输入:

    ethtool -s eth0 speed 100


相关参考:
1)[root@linux /]# which ethtool
        //查询 ethtool 存放的路径
    /sbin/ethtool
2)[root@linux /]# rpm -qf /sbin/ethtool        //查询 ethtool 的版本信息
   ethtool-1.6-5
3)将 ethtool 设置永久保存在网络设备的方法
        解决方法一:
        ethtool 设置可通过 /etc/sysconfig/network-scripts/ifcfg-ethX 文件保存,从而在设备下次启动时激活选项。 
例如:ethtool -s eth0 speed 100 duplex full autoneg off
此指令将eth0设备设置为全双工自适应,速度为100Mbs。若要eth0启动时设置这些参数, 修改文件/etc/sysconfig/network-scripts/ifcfg-eth0 ,添加如下一行: 
ETHTOOL_OPTS="speed 100 duplex full autoneg off"
         解决方法二:
         将ethtool设置写入/etc/rc.d/rc.local之中。