[转帖]Linux ethtool 命令详解

linux,ethtool,命令,详解 · 浏览次数 : 0

小编点评

**方法一:写入/etc/rc.d/rc.local文件中** ``` ETHTOOL_OPTS="speed 100 duplex full autoneg off" ``` **方法二:在/etc/sysconfig/network-scripts/ifcfg-eth0 文件中添加** ``` ETHTOOL_OPTS="speed 100 duplex full autoneg off" ``` **注意:** * 将上述命令写入文件之前确保您具有写入文件的权限。 * 在方法一中,请确保将 `ethtool_opts` 替换为您需要设置的选项。 * 在方法二中,请确保将 `ethtool_opts` 替换为您需要设置的选项。

正文

命令描述:

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

       这个命令多用于手工设置网络速率,一般千兆网卡支持10|100|1000三个速率,单位是Mbps。

       用法: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 显示帮助12519

与[转帖]Linux ethtool 命令详解相似的内容:

[转帖]Linux ethtool 命令详解

命令描述: ethtool 是用于查询及设置网卡参数的命令。 使用概要: ethtool ethx //查询ethx网口基本设置,其中 x 是对应网卡的编号,如eth0、eth1等等 ethtool –h //显示ethtool的命令帮助(help) ethtool –i ethX //查询ethX

[转帖]linux中关于带宽 MTU的一些命令

linux中关于带宽 MTU的一些命令 https://blog.51cto.com/xiaoliuer/1882208 查看协商的带宽大小 sudo ethtools eth0 Linux更改网卡MTU方法: 1. 打开终端,查看当前网卡设置:ifconfig 2. 对需要改MTU的网卡进行设置(

【转帖】【ethtool】ethtool 网卡诊断、调整工具、网卡性能优化| 解决丢包严重

目录 即看即用 详细信息 软件简介 安装 ethtool的使用 输出详解 其他指令 将 ethtool 设置永久保存 如何使用 ethtool 优化 Linux 虚拟机网卡性能 ethtool 解决网卡丢包严重和网卡原理 即看即用 查看: ethtool ethx 查看eth0网卡的基本设置 内容包

[转帖]Linux 磁盘I/O 调度算法 说明

2022-08-23 13:031361转载Linux 1 Linux 4.0 IO协议栈框架图 I/O 调度算法在各个进程竞争磁盘I/O的时候担当了裁判的角色。他要求请求的次序和时机做最优化的处理,以求得尽可能最好的整体I/O性能。 Linux 4.0 IO协议栈框架图 I/O调度程序的总结 当向

[转帖]Linux中常见IO调度器

https://www.jianshu.com/p/3c16e39a005a 单队列调度算法多队列调度算法 deadline mqdeadlines cfq bfq noop none kyber 对于磁盘I/O,Linux提供了cfq, deadline和noop三种调度策略 cfq: 这个名字是

[转帖]Linux 平台使用shc 工具加密shell 脚本

2021-08-03 20:4510030原创Linux 本文链接:https://www.cndba.cn/dave/article/4642 1 shc 工具说明 shell 脚本是常用脚本,运维中经常使用,但有时候在shell 脚本中会包含一些敏感的信息,比如密码或者特殊的参数,此时我们就可以

[转帖]Linux系统多网卡环境下的路由配置

https://www.cnblogs.com/connect/p/linux-static-route.html Linux下路由配置命令 1. 添加主机路由 route add -host 192.168.1.11 dev eth0 route add -host 192.168.1.12 gw

[转帖]linux命令行下如何格式化json并进行各种json处理操作

https://blog.csdn.net/penriver/article/details/122016563 有时需要在linux 的命令行下,需要查看json的内容或针对json进行各种操作,本文针对此进行梳理、总结。 在Linux系统下基于python json.tool可以格式化json,

[转帖]Linux grep、egrep使用命令详解

https://segmentfault.com/a/1190000040654123?utm_source=sf-similar-article grep egrep区别 grep 默认不支持扩展 但可以通过-E 选择来支持扩展正则egrep 支持扩展正则 关于正则与扩展正则的区别可以看我另一篇s

[转帖]Linux kill & Java shutdownhook

https://www.jianshu.com/p/8001a66d37c9 shutdown-hook 建议加上shutdown的钩子 如果程序出现了内存溢出crash 则现在代码是没有任何保护措施的 或者说运维不小心关闭了服务器等 或者运维不小心kill了游戏服务器进程等 无法避免kill -9