ethtool 网络设备的硬件驱动参数设置工具

阅读数:83 评论数:0

跳转到新版页面

分类

Linux

正文

一、概述

ethtool主要用于查看和修改网络设备的硬件驱动参数。ethtool并不能查看所有类型网卡的参数,有些虚拟网卡查出来的参数很有很,有些物理网卡,其驱动被DPDK等其他程序接管。

1、主要功能

(1)Get identification and diagnostic information

(2)Get extended device statistic

(3)Control speed, duplex, autonegotiation and flow control for Ethernet devices

(4)Control checksum offload and other hardware offload features

(5)Control DMA ring sizes and interrupt moderation

(6)Control receive queue selection for multiqueue devices

(7)Upgrade firmware in flash memory

二、ethtool命令使用

ethtool [OPTIONS] ethX

1、常用参数

ethX 查询ethx网口基本设置,其中x是对应网卡的编号,如eth0、eth1等。
–i ethX 查询ethX网口的相关信息
-k ethX 查询网卡的Offload信息。
-K ethX 修改网卡的Offload信息。
-c ethX 查询网卡聚合信息。
-C ethX 修改网卡聚合信息。
-l ethX 查看网卡队列数。
-L ethX 设置网卡队列数。
–i ethX 查询ethX网口的相关信息
–d ethX 查询ethX网口注册性信息
–r ethX 重置ethX网口到自适应模式
–S ethX 查询ethX网口收发包统计

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. 

三、常用方式

1、查看RingBuffer的大小和长度限制

ethtool -g eth0
Pre-set maximums 指的是RingBuffer的最大值
Current hardware setttings 指的是当前的设置

如果内核处理得不及时导致RingBuffer满,那后面新来的数据包就会被丢弃。

2、查看RingBuffer是否有溢出

ethtool -S eth0

如果rx_fifo_errors如果不为0的话,就表示有包因为RingBuffer装不下而被丢弃。

3、调整RingBuffer的大小

ethtool -G eth0 rx 4096 tx 4096

RingBuffer大小是一个平衡点,过小会丢包,过大会增加网络的处理的延时。

4、查看网卡多队列情况

ethtool -l eth0

其中的combined表示队列数。

5、调整队列数

ethtool -L eth0 combined 32



相关推荐

一、概述 net-tools起源于BSD的TCP/IP工具箱,后来成为版本Linux内核中配置网络功能的工具,但从2001起,Linux社区已经对其停止维护。同时一些Linux发行版也已经完全抛弃了n