加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

ethtools命令详解

发布时间:2020-12-14 02:13:05 所属栏目:Linux 来源:网络整理
导读:1 概述 ? ethtool 是用于查询及设置网卡参数的命令。 ? 2 命令详解 ? 2.1 命令格式 (1) 语法 ??? ethtool [ -a | -c | -g | -i | -d | -k | -r | -S |] ethX ??? ? ??? ethtool [-A] ethX [autoneg on|off] [rx on|off] [tx on|off] ??? ? ??? ethtool [-C]

1 概述
?
ethtool 是用于查询及设置网卡参数的命令。
?
2 命令详解
?
2.1 命令格式

(1) 语法

??? ethtool [ -a | -c | -g | -i | -d | -k | -r | -S |] ethX
??? ?
??? ethtool [-A] ethX [autoneg on|off] [rx on|off] [tx on|off]
??? ?
??? ethtool [-C] ethX [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] ethX [rx N] [rx-mini N] [rx-jumbo N] [tx N]
??? ?
??? ethtool [-e] ethX [raw on|off] [offset N] [length N]
??? ?
??? ethtool [-E] ethX [magic N] [offset N] [value N]
??? ?
??? ethtool [-K] ethX [rx on|off] [tx on|off] [sg on|off] [tso on|off]
??? ?
??? ethtool [-p] ethX [N]
??? ?
??? ethtool [-t] ethX [offline|online]
??? ?
??? ethtool [-s] ethX [speed 10|100|1000] [duplex half|full] [autoneg on|off]
???????????????? [port tp|aui|bnc|mii] [phyad N] [xcvr internal|external]
??? ?
??? [wol p|u|m|b|a|g|s|d...] [sopass xx:yy:zz:aa:bb:cc] [msglvl N]

?
(2) 描述

ethX是以太网卡的名称,Linux系统将检测到的第一块以太网卡命名为eth0,第二块为eth1,…….。
?
2.2 命令常见参数说明

?

参数
???
说明

-a
查看网卡中接收模块RX、发送模块TX和Autonegotiate模块的状态:启动on 或 停用off。

-A
?修改网卡中 接收模块RX、发送模块TX和Autonegotiate模块的状态:启动on 或 停用off。
-c
display the Coalesce(聚合、联合) information of the specified ethernet card.聚合网口信息,使看起来更有规律。
-C
? Change the Coalesce setting of the specified ethernet card.修改网卡聚合信息。
-g
Display the rx/tx ring parameter information of the specified ethernet card. 显示网卡的接收/发送环形参数。
-G
? Change the rx/tx ring setting of the specified ethernet card. 修改网卡的接收/发送环形参数。
-i
? 显示网卡驱动的信息,如驱动的名称、版本等。
-d
显示register dump信息,部分网卡驱动不支持该选项。
-e
显示EEPROM dump信息,部分网卡驱动不支持该选项。
-E
修改网卡EEPROM byte.
-k
显示网卡Offload参数的状态:on 或 off,包括rx-checksumming、tx-checksumming等。
-K
修改网卡Offload参数的状态
-p
用于区别不同ethX对应网卡的物理位置,常用的方法是使网卡port上的led不断的闪;N指示了网卡闪的持续时间,以秒为单位。
-r
如果auto-negotiation模块的状态为on,则restarts auto-negotiation.
-s
修改网卡的部分配置,包括网卡速度、单工/全双工模式、mac地址等。加上-s选项修改的内容才会生效
-S
显示NIC- and driver-specific 的统计参数,如网卡接收/发送的字节数、接收/发送的广播包个数等。
-t
?让网卡执行自我检测,有两种模式:offline or online.
?
2.3 输出详解
???? [[email?protected] ~]# ethtool eth0
??? Settings for eth0:
??? Supported ports: [ TP ]
???? // 支持模式
??? Supported link modes: 10baseT/Half 10baseT/Full
??? 100baseT/Half 100baseT/Full
??? 1000baseT/Full
??? Supported pause frame use: No
??? Supports auto-negotiation: Yes // 支持自动协商
??? Supported FEC modes: Not reported
???? // 通告模式
??? Advertised link modes: 10baseT/Half 10baseT/Full
??? 100baseT/Half 100baseT/Full
??? 1000baseT/Full
??? Advertised pause frame use: No
??? Advertised auto-negotiation: Yes // 使用自动协商
??? Advertised FEC modes: Not reported
??? Speed: 1000Mb/s // 当前速率 1000Mb/s
??? Duplex: Full // 工作模式为全双工
??? Port: Twisted Pair
??? PHYAD: 0
??? Transceiver: internal
??? Auto-negotiation: on // 自动协商打开
??? MDI-X: off (auto)
??? Supports Wake-on: d
??? Wake-on: d
??? Current message level: 0x00000007 (7)
??? drv probe link
??? Link detected: yes

3 简单实例

3.1 查询网口基本设置
?(1)命令

ethtool ethx

(2) 功能

查询ethx网口基本设置,其中 x 是对应网卡的编号,如eth0、eth1等等。

(3) 实例

??? [[email?protected] ~]# ethtool eth0
??? Settings for eth0:
??? Supported ports: [ TP ]
??? Supported link modes: 10baseT/Half 10baseT/Full
??? 100baseT/Half 100baseT/Full
??? 1000baseT/Full
??? Supported pause frame use: No
??? Supports auto-negotiation: Yes
??? Supported FEC modes: Not reported
??? Advertised link modes: 10baseT/Half 10baseT/Full
??? 100baseT/Half 100baseT/Full
??? 1000baseT/Full
??? Advertised pause frame use: No
??? Advertised auto-negotiation: Yes
??? Advertised FEC modes: Not reported
??? Speed: 1000Mb/s
??? Duplex: Full
??? Port: Twisted Pair
??? PHYAD: 0
??? Transceiver: internal
??? Auto-negotiation: on
??? MDI-X: off (auto)
??? Supports Wake-on: d
??? Wake-on: d
??? Current message level: 0x00000007 (7)
??? drv probe link
??? Link detected: yes
??? [[email?protected] ~]#

?
3.2 查询网口的驱动相关信息

(1) 命令

ethtool -i ethx

(2) 功能

查询网口的驱动相关信息,如驱动名称、版本信息等。


(3) 实例

??? [[email?protected] ~]# ethtool -i eth0
??? driver: e1000
??? version: 7.3.21-k8-NAPI
??? firmware-version:
??? expansion-rom-version:
??? bus-info: 0000:02:01.0
??? supports-statistics: yes
??? supports-test: yes
??? supports-eeprom-access: yes
??? supports-register-dump: yes
??? supports-priv-flags: no
?
3.3 查询ethx网口注册性信息

(1) 命令

ethtool -d ethx

(2) 功能

查询网口注册性信息。

?(3) 实例

??? [[email?protected] ~]# ethtool -d eth0
??? MAC Registers
??? -------------
??? 0x00000: CTRL (Device control register) 0x00C00249
??? Endian mode (buffers): little
??? Link reset: reset
??? Set link up: 1
??? Invert Loss-Of-Signal: no
??? Receive flow control: disabled
??? Transmit flow control: disabled
??? VLAN mode: disabled
??? Auto speed detect: disabled
??? Speed select: 1000Mb/s
??? Force speed: no
??? Force duplex: no
??? 0x00008: STATUS (Device status register) 0x0000CB83
??? Duplex: full
??? Link up: link config
??? TBI mode: disabled
??? Link speed: 1000Mb/s
??? Bus type: PCI
??? Bus speed: 66MHz
??? Bus width: 32-bit
??? 0x00100: RCTL (Receive control register) 0x00008002
??? Receiver: enabled
??? Store bad packets: disabled
??? Unicast promiscuous: disabled
??? Multicast promiscuous: disabled
??? Long packet: disabled
??? Descriptor minimum threshold size: 1/2
??? Broadcast accept mode: accept
??? VLAN filter: disabled
??? Canonical form indicator: disabled
??? Discard pause frames: filtered
??? Pass MAC control frames: do not pass
??? Receive buffer size: 2048
??? 0x02808: RDLEN (Receive desc length) 0x00001000
??? 0x02810: RDH (Receive desc head) 0x00000035
??? 0x02818: RDT (Receive desc tail) 0x00000033
??? 0x02820: RDTR (Receive delay timer) 0x00000000
??? 0x00400: TCTL (Transmit ctrl register) 0x0103F0FA
??? Transmitter: enabled
??? Pad short packets: enabled
??? Software XOFF Transmission: disabled
??? Re-transmit on late collision: enabled
??? 0x03808: TDLEN (Transmit desc length) 0x00001000
??? 0x03810: TDH (Transmit desc head) 0x00000000
??? 0x03818: TDT (Transmit desc tail) 0x00000000
??? 0x03820: TIDV (Transmit delay timer) 0x00000008
??? PHY type: M88
??? M88 PHY STATUS REGISTER: 0x0000AC00
??? Jabber: no
??? Polarity: normal
??? Downshifted: no
??? MDI/MDIX: MDI
??? Cable Length Estimate: 0-50 meters
??? Link State: Up
??? Speed & Duplex Resolved: Yes
??? Page Received: No
??? Duplex: Full
??? Speed: 1000 mbps
??? M88 PHY CONTROL REGISTER: 0x00000B68
??? Jabber function: enabled
??? Auto-polarity: disabled
??? SQE Test: disabled
??? CLK125: enabled
??? Auto-MDIX: auto
??? Extended 10Base-T Distance: disabled
??? 100Base-TX Interface: 5-bit
??? Scrambler: disabled
??? Force Link Good: disabled
??? Assert CRS on Transmit: enabled

?
3.4 查询网口收发包统计


(1) 命令

ethtool -S ethx

(2) 功能

查询网口收发包统计。


(3) 实例

??? [[email?protected] ~]# ethtool -S eth0
??? NIC statistics:
??? rx_packets: 447
??? tx_packets: 17
??? rx_bytes: 37053
??? tx_bytes: 1268
??? rx_broadcast: 0
??? tx_broadcast: 0
??? rx_multicast: 0
??? tx_multicast: 0
??? rx_errors: 0
??? tx_errors: 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_no_buffer_count: 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
??? tx_abort_late_coll: 0
??? tx_deferred_ok: 0
??? tx_single_coll_ok: 0
??? tx_multi_coll_ok: 0
??? tx_timeout_count: 0
??? tx_restart_queue: 0
??? rx_long_length_errors: 0
??? rx_short_length_errors: 0
??? rx_align_errors: 0
??? tx_tcp_seg_good: 0
??? tx_tcp_seg_failed: 0
??? rx_flow_control_xon: 0
??? rx_flow_control_xoff: 0
??? tx_flow_control_xon: 0
??? tx_flow_control_xoff: 0
??? rx_long_byte_count: 37053
??? rx_csum_offload_good: 67
??? rx_csum_offload_errors: 0
??? alloc_rx_buff_failed: 0
??? tx_smbus: 0
??? rx_smbus: 0
??? dropped_smbus: 0

?
3.5 设置网口工作方式

(1) 命令

ethtool -s ethX [speed 10|100|1000] [duplex half|full] [autoneg on|off]

(2) 功能

设置网口速率10/100/1000M、设置网口半/全双工、设置网口是否自协商。自动协商关闭后,重新打开即可恢复原来的选项。

(3) 实例

??? [[email?protected] ~]# ethtool -s eth0 autoneg off speed 100 duplex full
??? [[email?protected] ~]#
??? [[email?protected] ~]#
??? [[email?protected] ~]# ethtool eth0
??? Settings for eth0:
??? Supported ports: [ TP ]
??? Supported link modes: 10baseT/Half 10baseT/Full
??? 100baseT/Half 100baseT/Full
??? 1000baseT/Full
??? Supported pause frame use: No
??? Supports auto-negotiation: Yes
??? Supported FEC modes: Not reported
??? Advertised link modes: Not reported
??? Advertised pause frame use: No
??? Advertised auto-negotiation: No
??? Advertised FEC modes: Not reported
??? Speed: 100Mb/s
??? Duplex: Full
??? Port: Twisted Pair
??? PHYAD: 0
??? Transceiver: internal
??? Auto-negotiation: off
??? MDI-X: off (auto)
??? Supports Wake-on: d
??? Wake-on: d
??? Current message level: 0x00000007 (7)
??? drv probe link
??? Link detected: yes
??? [[email?protected] ~]#
??? [[email?protected] ~]#
??? [[email?protected] ~]# ethtool -s eth0 autoneg on
??? [[email?protected] ~]#
??? [[email?protected] ~]#
??? [[email?protected] ~]# ethtool eth0
??? Settings for eth0:
??? Supported ports: [ TP ]
??? Supported link modes: 10baseT/Half 10baseT/Full
??? 100baseT/Half 100baseT/Full
??? 1000baseT/Full
??? Supported pause frame use: No
??? Supports auto-negotiation: Yes
??? Supported FEC modes: Not reported
??? Advertised link modes: 10baseT/Half 10baseT/Full
??? 100baseT/Half 100baseT/Full
??? 1000baseT/Full
??? Advertised pause frame use: No
??? Advertised auto-negotiation: Yes
??? Advertised FEC modes: Not reported
??? Speed: 1000Mb/s
??? Duplex: Full
??? Port: Twisted Pair
??? PHYAD: 0
??? Transceiver: internal
??? Auto-negotiation: on
??? MDI-X: off (auto)
??? Supports Wake-on: d
??? Wake-on: d
??? Current message level: 0x00000007 (7)
??? drv probe link
??? Link detected: yes
??? [[email?protected] ~]#


?
3.6 指定通过自动协商机制通告的速度和双工方式

(1) 命令

ethtool -s ethX advertise N

(2) 功能

指定通过自动协商机制通告的速度和双工方式。N为十六进制值,如0x008表示100Mb/s+全双工、0x020表示1000Mb/s+全双工。

(3) 实例

??? [[email?protected] ~]# ethtool -s eth0 advertise 0x008
??? [[email?protected] ~]#
??? [[email?protected] ~]# ethtool eth0??? Settings for eth0:??? Supported ports: [ TP ]??? Supported link modes: 10baseT/Half 10baseT/Full??? 100baseT/Half 100baseT/Full??? 1000baseT/Full??? Supported pause frame use: No??? Supports auto-negotiation: Yes??? Supported FEC modes: Not reported??? Advertised link modes: 100baseT/Full??? Advertised pause frame use: No??? Advertised auto-negotiation: Yes??? Advertised FEC modes: Not reported??? Speed: 1000Mb/s??? Duplex: Full??? Port: Twisted Pair??? PHYAD: 0??? Transceiver: internal??? Auto-negotiation: on??? MDI-X: off (auto)??? Supports Wake-on: d??? Wake-on: d??? Current message level: 0x00000007 (7)??? drv probe link??? Link detected: yes?3.7 其它(1) 停止网卡的发送模块TX,请输入:ethtool -A tx off eth0操作完毕后,可输入:ethtool -a eth0,查看tx模块是否已被停止。(2) 关闭网卡对收到的数据包的校验功能,请输入:ethtool -K eth0 rx off操作完毕后,可输入:ethtool -k eth0,查看校验功能是否已被停止。?(3) 如果机器上安装了两块网卡,那么eth0对应着哪块网卡呢?输入:ethtool -p eth0 10操作完毕后,看哪块网卡的led灯在闪,eth0就对应着哪块网卡。?(4) 查看网卡,在接收/发送数据时,有没有出错?请输入:ethtool -S eth0?(5) 将千兆网卡的速度降为百兆,请输入:ethtool -s eth0 speed 100?4 永久保存配置?将 ethtool 设置永久保存在网络设备有两种方法,一种是写入网口配置文件中,一种是开机自启动脚本。?(1) ethtool 设置可通过 /etc/sysconfig/network-scripts/ifcfg-ethx 文件保存,从而在设备下次启动时激活选项。例如:ethtool -s eth0 speed 100 duplex full autoneg off?此指令将eth1设备设置为全双工自适应,速度为100Mbs。若要eth0启动时设置这些参数,修改文件/etc/sysconfig/network-scripts/ifcfg-eth1 ,添加如下一行:?ETHTOOL_OPTS="speed 100 duplex full autoneg off"(2) 将ethtool设置写入/etc/rc.d/rc.local之中,开机自动执行命令设置。ethtool -s eth0 speed 100 duplex full autoneg off

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读