21.Linux ethtool 命令详解
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、设置网口半/全双工、设置网口是否自协商
ethtool -E eth0 magic 0x10798086 offset 0x10 value 0x1A 修改网卡EEPROM内容(0x1079 网卡device id , 0x8086网卡verdor id )
ethtool -e eth0 : dump网卡EEPROM内容
使用举例:
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
相关参考:
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之中。
典型用法:查询网络端口位置ethtool -p
这个命令多用于管理多网口的服务器主机,由于背板的网络端口数量大,有时候不知道那个物理端口对应eth0或其他设备号,我们就可以使用这个命令来查询。
用法:ethtool -p eth0
效果:设备号eth0对应的物理端口的两个指示灯会闪烁
典型用法:修改端口速率ethtool -s
用法:ethtool -s eth0 speed 1000 duplex full autoneg off
效果:将设备号eth0对应的物理端口设置为速率为1000Mbps,全双工工作模式,同时关闭自动协商。
注:若需要永久更改有两种方法:1. 将上述命令写入/etc/rc.local文件中,开机自动执行;2. 在/etc/sysconfig/network-scripts/ifcfg-eth0中添加一行ETHTOOL_OPTS="speed 1000 duplex full autoneg off"。这里仅仅以eth0为例,其他设备号同理。
命令格式集合
ethtool DEVNAME Display standard information about device 显示该设备的标准信息。 ethtool -s|--change DEVNAME Change generic options 更改基本选项 [ speed 10|100|1000 ] //端口速率选项,单位是Mbps [ duplex half|full ] //端口半双工和全双工选项 [ port tp|aui|bnc|mii|fibre ] //端口选项,默认为TP [ autoneg on|off ] //自动协商选项,默认为on [ phyad %%d ] //物理地址号,一般为1或0 [ xcvr internal|external ] [ wol p|u|m|b|a|g|s|d... ] [ sopass %%x:%%x:%%x:%%x:%%x:%%x ] [ msglvl %%d ] ethtool -a|--show-pause DEVNAME Show pause options 显示相应设备中止选项设置情况 ethtool -A|--pause DEVNAME Set pause options 对相应设备进行中止选项设置 [ autoneg on|off ] [ rx on|off ] [ tx on|off ] ethtool -c|--show-coalesce DEVNAME Show coalesce options 显示相应设备联合选项设置情况 ethtool -C|--coalesce DEVNAME Set coalesce options 对相应设备进行联合选项设置 [adaptive-rx on|off] [adaptive-tx on|off] [rx-usecs N] [rx-frames N] [rx-usecs-irq N] [rx-frames-irq N] [tx-usecs N] [tx-frames N] [tx-usecs-irq N] [tx-frames-irq N] [stats-block-usecs N] [pkt-rate-low N] [rx-usecs-low N] [rx-frames-low N] [tx-usecs-low N] [tx-frames-low N] [pkt-rate-high N] [rx-usecs-high N] [rx-frames-high N] [tx-usecs-high N] [tx-frames-high N] [sample-interval N] ethtool -g|--show-ring DEVNAME Query RX/TX ring parameters 查询接收/发送回环参数 ethtool -G|--set-ring DEVNAME Set RX/TX ring parameters 设置接收/发送回环参数 [ rx N ] [ rx-mini N ] [ rx-jumbo N ] [ tx N ] ethtool -k|--show-offload DEVNAME Get protocol offload information 获取协议卸载信息 ethtool -K|--offload DEVNAME Set protocol offload 设置协议卸载 [ rx on|off ] [ tx on|off ] [ sg on|off ] [ tso on|off ] [ ufo on|off ] [ gso on|off ] ethtool -i|--driver DEVNAME Show driver information 显示相应设备的驱动信息 ethtool -d|--register-dump DEVNAME Do a register dump 寄存器转存 ethtool -e|--eeprom-dump DEVNAME Do a EEPROM dump EEPROM转存 [ raw on|off ] [ offset N ] [ length N ] ethtool -E|--change-eeprom DEVNAME Change bytes in device EEPROM 更改设备EEPROM中的字节 [ magic N ] [ offset N ] [ value N ] ethtool -r|--negotiate DEVNAME Restart N-WAY negotation 重启N路交互 ethtool -p|--identify DEVNAME Show visible port identification (e.g. blinking) 显示可见的端口识别(比如相应端口指示灯会亮) [ TIME-IN-SECONDS ] ethtool -t|--test DEVNAME Execute adapter self test 执行适配器自我测试 [ online | offline ] ethtool -S|--statistics DEVNAME Show adapter statistics 显示适配器的统计信息 ethtool -h|--help DEVNAME Show this help 显示帮助
转自:https://blog.csdn.net/sdvch/article/details/48712519