转自:https://www.cnblogs.com/kelamoyujuzhen/p/10116423.html

参考:9 Linux ethtool Examples to Manipulate Ethernet Card (NIC Card)

Fun with ethtool

简介

ethtool允许你修改Ethernet adapter配置,并且这种修改只适用于physical ethernet adapters,这意味着bond0,tun0和任何其他非物理网络设备将无法与ethtool一起使用。

注意:大多数Linux内核将以太网设备标记为ethX,其中X是物理以太网接口的#(从0开始)。

我知道我知道,先从最少使用的东西开始。 但是,嘿,有人可能觉得这很有用,对吗? 在处理内核级别问题时,我可能不得不在10年以上查询驱动程序信息十几次,但有人必须在他们生命中的某个时刻遇到这个问题,让我告诉你,它可能更容易 运行一个命令,而不是通过lsmod挖掘并希望模块正确地拾取驱动程序。

驱动信息 和 统计数据

在处理内核级别的问题时,人们往往会使用lsmod来查看相应驱动是否被加载,使用ethtool可以更优雅的解决这个问题。

-i:Queries the specified network device for associated driver information.

root@ubuntu:~# ethtool -i ens32
driver: e1000
version: 7.3.21-k8-NAPI
firmware-version:
expansion-rom-version:
bus-info: 0000:02:00.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: no

-S(大写):Queries the specified network device for NIC- and driver-spe‐cific statistics.

这个参数可以快速定位 rx/tx问题

root@ubuntu:~# ethtool -S ens32
NIC statistics:
rx_packets: 380
tx_packets: 386
rx_bytes: 42819
tx_bytes: 81789
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: 1
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: 42819
rx_csum_offload_good: 358
rx_csum_offload_errors: 0
alloc_rx_buff_failed: 0
tx_smbus: 0
rx_smbus: 0
dropped_smbus: 0

跟踪网卡

当一台服务器上有多张网卡,查找具体某一张物理网卡往往十分令人头疼。当然,你可以这么做:从ifconfig中取出MAC地址,将所有电缆插入一个管理型交换机,然后在交换机上将Mac表导出,查看具体Mac指向哪里。 使用ethtool可以更优雅地解决这个问题。

-p:Initiates adapter-specific action intended to enable an oper‐ator to easily identify the adapter by sight. Typically this involves blinking one or more LEDs on the specific network port.

ethtool -p ethX [N] 

其中[N]是闪烁的秒数。 ethtool -p eth0 15使eth0闪烁15秒。此时,太网适配器背面的指示灯闪烁会闪烁。

测试Ethernet Adapter

可以针对物理以太网接口运行一些基本测试,测试有两个选项,一个online test(tests nvram and a link test)和一个offline test(register, memory, loopback, interrupt)。 脱机测试很可能在测试期间使主机离线,因此如果你对生产服务器或只能远程访问的计算机运行此操作,请特别注意。

ethtool -t ethX [offline|online] 
root@ubuntu:~# ethtool -t ens32 online
The test result is PASS
The test extra info:
Register test (offline) 0
Eeprom test (offline) 0
Interrupt test (offline) 0
Loopback test (offline) 0
Link test (on/offline) 0 root@ubuntu:~# ethtool -t ens32 offline
The test result is FAIL
The test extra info:
Register test (offline) 0
Eeprom test (offline) 0
Interrupt test (offline) 0
Loopback test (offline) 13
Link test (on/offline) 0

一些网卡可能不支持online test 或者 offline test

改变Ethernet 配置

ethtool ethX

检查网卡配置信息

root@ubuntu:~# ethtool ens32
Settings for ens32:
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
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised pause frame use: No
Advertised auto-negotiation: Yes
    partner advertised link modes:	10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Link partner advertised pause frame use: No
Link partner advertised auto-negotiation: Yes
    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

可以得出结论:设备支持TP,最高1000BaseT/Full,自动协商。 Partner(Switch)支持最高100baseT / Full和自动协商。设备的实际设置:100Mb / s,全双工,运行TP,物理地址0,设置为自动协商,启用WoL并检测链路。

如果我网卡的支持链接模式设置为low(例如10/Half由于某种原因)但交换机支持1000baseT / Full,那么可以使用ethtool -s ethX将我的以太网设置更改为1000baseT / Full。几乎所有你看到的东西:ethtool ethX,可以用ethtool -s ethX改变。在这种情况下,您将使用以下内容:

ethtool -S eth0 speed 1000 duplex full autoneg on

 -s(小写):Allows changing some or all settings of the specified network device. All following options only apply if -s was specified.

Linux命令——ethtool的更多相关文章

  1. LINUX命令之ETHTOOL用法详解

    转载:http://crazyming.blog.51cto.com/1048571/738022 debian 下安装: sudo apt-get install ethtool 或者下载源码编译: ...

  2. (转)Linux命令之Ethtool用法详解

    Linux命令之Ethtool用法详解 原文:http://www.linuxidc.com/Linux/2012-01/52669.htm Linux/Unix命令之Ethtool描述:Ethtoo ...

  3. Linux命令整理中...

    Linux命令整理中... 最常用命令(我最近最常用的一般放在前面tipsbychsry) clear 清屏 date 显示日期 cal 显示日历 cal 2014 显示2014年的日历 shutdo ...

  4. Linux 命令小记

    1. pidof 进程名 :获取进程的pid,例如 pidof memcached 得到5333 2. unset Shell变量 :取消设置一个shell变量,从内存和shell的导出环境中删除它, ...

  5. 运维工程师必会的109个Linux命令

    运维工程师必会的109个Linux命令 版本1.0 崔存新 更新于2009-12-26 目录 1 文件管理 6 1.1 basename 6 1.2 cat 6 1.3 cd 7 1.4 chgrp ...

  6. Linux命令行技巧

    Linux命令行技巧 命令 描述 • apropos whatis 显示和word相关的命令. 参见线程安全 • man -t man | ps2pdf - > man.pdf 生成一个PDF格 ...

  7. 运维必须掌握的150个Linux命令

    线上查询及帮助命令(1个)man 目录操作命令(6个)ls tree pwd mkdir rmdir cd 文件操作命令(7个)touch cp mv rm ln find rename 文件查看及处 ...

  8. linux 命令中英文对照,收集

    linux 命令中英文对照,收集   linux 命令英文全文 Is Linux CLI case-sensitive? The answer is, yes. If you try to run L ...

  9. 这些Linux命令,让你的工作事半功倍!

    这些Linux命令,让你的工作事半功倍! 最近都在和Linux打交道,感觉还不错.我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因,比较 ...

随机推荐

  1. 六、CSS 选择器:BeautifulSoup4

    和 lxml 一样,Beautiful Soup 也是一个HTML/XML的解析器,主要的功能也是如何解析和提取 HTML/XML 数据. lxml 只会局部遍历,而Beautiful Soup 是基 ...

  2. postman---postman参数化

    我们在做接口测试的过程中,都会遇到同一个接口不同的数据,每次去一个个填写数据就太麻烦了,今天我们一起学习下如何通过postman进行参数化 参数化 参数化就是1个接口请求不同的数据,我们可以通过把请求 ...

  3. 9.Java基础_for/while/do-while循环

    /* for循环(同C++) 初始化变量的作用域为循环体 出了循环体,初始化的局部变量消失 for(初始化;条件判断;条件控制){ 循环体; } while循环 while(条件判断){ 循环体; } ...

  4. Linux shell 判断字符串为空等常用命令

    1.判断字符串为空 if [ -z "$str" ]; then echo "empty string" fi 2.判断文件是否存在 if [ -f /home ...

  5. 浅谈DFS序

    浅谈DFS序 本篇随笔简要讲解一下信息学奥林匹克竞赛中有关树的DFS序的相关内容. DFS序的概念 先来上张图: 树的DFS序,简单来讲就是对树从根开始进行深搜,按搜到的时间顺序把所有节点打上时间戳. ...

  6. <LinkedList> 369 (高)143 (第二遍)142 148

    369. Plus One Linked List 1.第1次while: 从前往后找到第一个不是9的位,记录. 2.第2次while: 此位+1,后面的所有值设为0(因为后面的位都是9). 返回时注 ...

  7. 【BZOJ3600】没有人的算术(替罪羊树+线段树)

    点此看题面 大致题意: 定义任意数对\(>0\),数对之间比大小先比第一位.后比第二位,一开始数列全为\(0\),要求你支持\(a_k=(a_x,a_y)\)和询问区间最大值所在位置两种操作. ...

  8. 日常笔记6C++标准模板库(STL)用法介绍实例

    一.vector常见用法详解 vector翻译为向量,但是这里翻译成变长数组的叫法更好理解. 如果typename是一个STL容器,定义的时候要记得在>>符号之间加上空格,因为在C++11 ...

  9. checkbox如何判断是否选中

    checkbox在项目中使用的比较多,好多时候需要判断,或者作为某些逻辑的依据. 总结一下,拿到checkbox状态的方法. <label for="checkbox"> ...

  10. Office Online Server 在线编辑Office文档,安装部署

    Office Online Server部署安装 部署环境 一台windows server2012 (搭建域环境)/多次遇坑之后,强烈建议域环境为server2012 一台windows serve ...