Linux命令——ethtool
转自:https://www.cnblogs.com/kelamoyujuzhen/p/10116423.html
参考:9 Linux ethtool Examples to Manipulate Ethernet Card (NIC Card)
简介
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的更多相关文章
- LINUX命令之ETHTOOL用法详解
转载:http://crazyming.blog.51cto.com/1048571/738022 debian 下安装: sudo apt-get install ethtool 或者下载源码编译: ...
- (转)Linux命令之Ethtool用法详解
Linux命令之Ethtool用法详解 原文:http://www.linuxidc.com/Linux/2012-01/52669.htm Linux/Unix命令之Ethtool描述:Ethtoo ...
- Linux命令整理中...
Linux命令整理中... 最常用命令(我最近最常用的一般放在前面tipsbychsry) clear 清屏 date 显示日期 cal 显示日历 cal 2014 显示2014年的日历 shutdo ...
- Linux 命令小记
1. pidof 进程名 :获取进程的pid,例如 pidof memcached 得到5333 2. unset Shell变量 :取消设置一个shell变量,从内存和shell的导出环境中删除它, ...
- 运维工程师必会的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 ...
- Linux命令行技巧
Linux命令行技巧 命令 描述 • apropos whatis 显示和word相关的命令. 参见线程安全 • man -t man | ps2pdf - > man.pdf 生成一个PDF格 ...
- 运维必须掌握的150个Linux命令
线上查询及帮助命令(1个)man 目录操作命令(6个)ls tree pwd mkdir rmdir cd 文件操作命令(7个)touch cp mv rm ln find rename 文件查看及处 ...
- linux 命令中英文对照,收集
linux 命令中英文对照,收集 linux 命令英文全文 Is Linux CLI case-sensitive? The answer is, yes. If you try to run L ...
- 这些Linux命令,让你的工作事半功倍!
这些Linux命令,让你的工作事半功倍! 最近都在和Linux打交道,感觉还不错.我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因,比较 ...
随机推荐
- fiddler---Fiddler抓取https协议
上一篇简单的介绍了Fiddler的使用方法和页面布局介绍,Fiddler默认抓取的是HTTP协议,现在的协议基本上都是基于HTTPS协议的,今天写一篇如何通过Fiddler抓取HTTPS协议 什么是H ...
- adb <-> adbserver <-> JDWP
简单理一下adb,adbserver,jdwp 之间的关系.角色与相关协议 | 上位机 | USB/TCP | 下位机 | adb <-> adbserver ...
- 谷歌浏览器安装JsonView插件
可方便阅读json格式文件,参考https://www.jianshu.com/p/6ea9f2245f4d
- Centos7 yum安装MySQL5.7.25
1 下载并安装MySQL官方的 Yum Repository[root@localhost ~]# wget -i -c http://dev.mysql.com/get/mysql57-commun ...
- UAC简介
用户帐户控制 (User Account Control) 是Windows Vista(及更高版本操作系统)中一组新的基础结构技术,可以帮助阻止恶意程序(有时也称为“恶意软件”)损坏系统,同时也可以 ...
- 有关tab页的
有关tab页的 1.静态的 2.动态的可以删除的 3.删除右侧,左侧,全部,除了自己以外的. 4.多了可以自动伸缩. 5.带shown事件.可以反向影响菜单去.
- mysql count的理解
mysql count的理解 1 select count(tel) as telcount from info;如果tel列有null 将不会被统计进去 2 count(*) 这样写性能更好 3 M ...
- mybatis使用collection查询集合属性规则
接上篇mybatis使用associaton进行分步查询 相关的类还是上篇中的类. 查询部门的时候将部门对应的所有员工信息也查询出来 DepartmentMapper.xml <!--嵌套结果集 ...
- 解决用navicat远程连接数据库出现1045 access denied for user 'root'@'localhost' using password yes
在mysql命令行中执行 SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456XXX'); GRANT ALL PRIVILEGES ON * ...
- linux 查找被删除但是未被释放空间的文件 并释放资源
使用du -sh 和df -h 查看/data目录,发现结果相差一半,后来了解到: 使用rm命令删除文件时,只有当该文件不存在任何link才会被删除 当有进程访问这个文件时,这个文件的实际占用空间就 ...