0

0

Linux怎么使用ethtool检查网卡信息

P粉602998670

P粉602998670

发布时间:2025-09-15 15:50:01

|

835人浏览过

|

来源于php中文网

原创

ethtool是Linux下用于查询和配置网络接口的命令行工具,可查看网卡速度、双工模式、驱动信息及统计数据显示链路状态;通过ethtool interface查看基本信息,-i查看驱动版本,-S获取收发错误等统计数据,-k管理卸载功能,-s可强制设置速率与双工模式(需注意匹配对端设备),-p用于物理定位网卡指示灯;使用时需root权限,注意接口命名规则变化,修改非持久化,部分功能受限于硬件或驱动支持,误操作可能导致链路异常。

linux怎么使用ethtool检查网卡信息

ethtool
是 Linux 下一个非常实用的命令行工具,主要用于查询和修改网络接口的驱动程序和硬件设置。通过它,我们可以快速获取网卡的速度、双工模式、支持的功能以及统计数据等关键信息,这对于日常的网络诊断和性能优化非常有帮助。

解决方案

在 Linux 系统中,使用

ethtool
检查网卡信息通常非常直接。你只需要在终端中输入
ethtool
命令,后面跟上你想要检查的网络接口名称。

比如说,如果你的网卡接口是

eth0
enp0s3
,你可以这样操作:

ethtool eth0
# 或者
ethtool enp0s3

执行这个命令后,你会看到一系列关于该网卡的基本信息,包括:

  • Supported ports: 网卡支持的物理接口类型(如TP,即双绞线)。
  • Supported link modes: 网卡支持的连接速度和双工模式(如1000baseT/Full)。
  • Advertised link modes: 网卡当前通告给对端的连接能力。
  • Speed: 当前实际连接速度。
  • Duplex: 当前双工模式(Full或Half)。
  • Port: 接口类型。
  • Link detected: 链路是否连接(yes/no)。

除了查看基本信息,

ethtool
还有很多有用的选项:

  • 查看驱动程序信息:

    ethtool -i eth0

    这会显示网卡的驱动程序名称、版本、固件版本和总线信息,对于排查驱动兼容性问题很有用。

  • 查看统计信息:

    ethtool -S eth0

    这个命令会输出大量的网卡统计数据,比如接收/发送的字节数、错误包、丢包、碰撞次数等。这些数据对于分析网络性能瓶颈和故障非常有价值。

  • 查看或修改网卡卸载(offload)设置:

    ethtool -k eth0  # 查看当前设置
    # ethtool -K eth0 rx off # 关闭接收卸载功能(谨慎操作)

    网卡卸载功能(如TCP Segmentation Offload, Generic Receive Offload)可以将一些网络处理任务从CPU转移到网卡硬件上,提高性能。但有时,这些功能可能导致兼容性问题,需要临时关闭进行测试。

  • 让网卡指示灯闪烁:

    sudo ethtool -p eth0 10

    这个命令会让指定网卡的指示灯闪烁10秒钟,对于在机架中快速定位物理网卡非常实用。需要

    sudo
    权限。

记住,很多

ethtool
的操作,特别是修改网卡设置的,都需要
root
权限(使用
sudo
)。

ethtool
的输出信息都代表什么?如何解读这些关键参数?

初次接触

ethtool
的输出,可能会觉得信息量有点大,甚至有些参数看起来晦涩难懂。但实际上,只要抓住几个核心点,解读起来并不复杂。

当你运行

ethtool 
时,最先映入眼帘的通常是“Settings for
:”之后的一系列参数。

  • Speed: 1000Mb/s
    Duplex: Full
    这两个是判断网卡连接状态和性能最直观的参数。
    Speed
    表示当前网卡实际协商到的连接速度,
    Duplex
    表示双工模式(
    Full
    是全双工,可以同时收发数据;
    Half
    是半双工,收发数据需要轮流进行,性能较差)。如果这里显示的速度远低于预期,或者双工模式是
    Half
    ,那通常意味着网线、交换机端口或网卡本身可能存在问题。

  • Link detected: yes
    这个非常关键,它直接告诉你网线是否连接正常,物理链路是否已经建立。如果是
    no
    ,那首先要检查网线是否插好、另一端的设备(交换机、路由器)是否开机。

  • Supported link modes
    Advertised link modes

    ListenHub
    ListenHub

    超真实的AI播客生成器

    下载
    • Supported link modes
      列出了网卡硬件本身支持的所有连接速度和双工模式。比如
      1000baseT/Full
      表示支持千兆全双工。
    • Advertised link modes
      则是网卡当前向连接的对端设备“宣告”自己支持的连接模式。如果这里缺少了网卡实际支持的模式,可能导致协商不出最佳连接。
  • Driver: e1000e
    Version: 3.2.6-k
    Firmware version: 0.13-4
    这些信息来自
    ethtool -i
    的输出,它们告诉你网卡正在使用的驱动程序名称、版本以及固件版本。在遇到网络性能问题或兼容性故障时,这些是排查驱动是否过时、是否有bug的重要线索。

  • rx_packets: 123456
    tx_packets: 654321
    (来自
    ethtool -S
    ):
    这些是网卡接收和发送的数据包数量。更重要的是,像
    rx_errors
    (接收错误包)、
    tx_errors
    (发送错误包)、
    rx_dropped
    (接收丢包)、
    tx_dropped
    (发送丢包)、
    collisions
    (冲突次数) 这些统计数据,它们能直接反映网络链路的质量。大量的错误包或丢包通常指向物理层问题(如坏线、接口故障)或网络拥堵。

理解这些参数,就能让你在面对网络问题时,快速定位问题大致出在哪里,是物理连接、驱动程序还是网络配置层面的问题。

在网络故障排查中,
ethtool
有哪些不为人知的妙用?

ethtool
远不止一个简单的信息查看工具,它在网络故障排查中扮演着“瑞士军刀”的角色,有些功能甚至能让你在关键时刻力挽狂澜。

  • 强制设置网卡速度与双工模式:

    sudo ethtool -s eth0 speed 100 duplex full autoneg off

    这个命令是双刃剑,一般不推荐随意使用,因为自动协商(

    autoneg on
    )是最佳实践。但在某些特殊情况下,比如连接到一个老旧的、不支持自动协商的交换机端口,或者当自动协商出现问题导致连接不稳定时,强制将网卡设置为特定的速度和双工模式(比如
    100Mb/s Full
    )可以作为一种临时的解决方案,让网络恢复工作。我遇到过几次旧设备对接新设备,就是靠这个才勉强跑起来。但切记,这只是权宜之计,根本问题还是要去解决。

  • 诊断网卡卸载(Offload)功能引起的奇怪问题: 你可能会遇到网络吞吐量异常低、TCP连接经常中断,或者某些特定应用网络性能奇差的问题,但其他网络工具却显示一切正常。这时候,

    ethtool -k 
    就能派上用场了。网卡卸载功能(如
    tx-checksumming
    scatter-gather
    tso
    gso
    gro
    等)旨在减轻CPU负担,但有时驱动程序bug或与特定网络设备不兼容,反而会引入问题。

    ethtool -k eth0 # 查看当前卸载设置
    # 如果怀疑某个功能有问题,可以尝试关闭它
    # sudo ethtool -K eth0 tso off gso off gro off

    通过逐一关闭或开启这些功能来测试,往往能定位到问题的根源。这需要一定的经验和耐心,但一旦找到,解决起来就豁然开朗。

  • 结合统计数据(

    ethtool -S
    )进行深入分析:
    ethtool -S
    提供的统计数据远比
    ifconfig
    ip -s
    更详细。除了常见的错误和丢包,它还会显示一些驱动层面的私有统计信息,比如
    rx_fifo_errors
    (接收FIFO溢出)、
    tx_timeout
    (发送超时) 等。这些数据对于诊断硬件层面的瓶颈,例如网卡缓存不足、驱动程序处理速度跟不上网络流量等问题,提供了宝贵线索。当我在处理高流量服务器的网络性能问题时,这些底层统计数据常常能帮助我发现一些隐藏很深的硬件或驱动问题。

  • 物理定位网卡:

    ethtool -p
    虽然听起来很简单,但在数据中心或机房里,一台服务器可能有多块网卡,或者有很多服务器堆叠在一起。
    sudo ethtool -p eth0 60
    这样的命令能让指定网卡上的指示灯闪烁一分钟,让你一眼就能在物理层面找到对应的网卡,避免插错线或拔错卡这种低级错误。这在紧急维护时,能节省大量时间。

这些“妙用”往往需要你在面对具体问题时,结合其他工具(如

tcpdump
ip
ss
等)和你的网络知识进行综合判断。

使用
ethtool
时,有哪些常见的坑和需要注意的地方?

尽管

ethtool
功能强大,但在实际使用中,也确实有一些常见的“坑”和需要注意的地方,稍不留神就可能掉进去,甚至导致网络中断。

  • 权限问题: 这是最常见的。很多

    ethtool
    的操作,特别是涉及到修改网卡设置(如
    ethtool -S
    )或控制指示灯(
    ethtool -p
    ),都需要
    root
    权限。如果你直接运行而没有加
    sudo
    ,通常会得到一个“Operation not permitted”的错误。别忘了加
    sudo

  • 网卡名称的变迁: 以前 Linux 系统中网卡接口通常是

    eth0
    ,
    eth1
    这样的命名。但现在,很多发行版(尤其是使用
    systemd
    的)采用了“可预测的网络接口名称”,比如
    enp0s3
    ens33
    eno1
    等。如果你还在习惯性地使用
    eth0
    ,但你的系统已经改用新命名规则,那
    ethtool eth0
    就会告诉你“No such device”。使用
    ip a
    ifconfig -a
    先确认你系统中的实际网卡名称。

  • 修改设置的持久化问题: 使用

    ethtool -S
    命令进行的任何修改,例如强制设置速度和双工模式,都只是临时的。系统重启后,这些设置就会丢失,恢复到默认或网络配置文件中定义的配置。如果你需要永久保留这些设置,你必须将它们写入到网络配置文件中,例如
    /etc/network/interfaces
    (Debian/Ubuntu)或通过
    NetworkManager
    的配置(CentOS/RHEL/Fedora)。不同的发行版和网络管理工具,配置方式差异很大,需要查阅相应文档。

  • 硬件兼容性与驱动支持: 并非所有网卡都支持

    ethtool
    的所有功能。有些老旧的网卡或特定的驱动程序可能只支持一部分
    ethtool
    命令。比如,某些网卡可能不支持
    ethtool -p
    来闪烁指示灯,或者某些卸载功能无法通过
    ethtool -K
    来控制。当你尝试执行某个命令却得到“Operation not supported”或类似的错误时,这通常是硬件或驱动的限制。

  • 盲目修改的风险:

    ethtool -S
    强制设置网卡速度和双工模式,虽然在特定情况下有用,但如果与连接的对端设备(交换机端口)设置不匹配,很可能导致链路无法建立,或者建立后性能极差(比如出现大量错误包)。比如,如果交换机端口是千兆自动协商,你却强制网卡为百兆全双工,那么很可能无法正常通信。在不确定时,最好保持
    autoneg on
    ,让网卡和对端设备自动协商。

  • ethtool: command not found
    如果你的系统是最小化安装,
    ethtool
    工具可能没有默认安装。遇到这个错误,你需要手动安装它。对于基于 Debian/Ubuntu 的系统,使用
    sudo apt install ethtool
    ;对于基于 RHEL/CentOS 的系统,使用
    sudo yum install ethtool
    sudo dnf install ethtool

在使用

ethtool
时,多一份谨慎,多一份验证,就能有效避免不必要的麻烦。

相关专题

更多
硬盘接口类型介绍
硬盘接口类型介绍

硬盘接口类型有IDE、SATA、SCSI、Fibre Channel、USB、eSATA、mSATA、PCIe等等。详细介绍:1、IDE接口是一种并行接口,主要用于连接硬盘和光驱等设备,它主要有两种类型:ATA和ATAPI,IDE接口已经逐渐被SATA接口;2、SATA接口是一种串行接口,相较于IDE接口,它具有更高的传输速度、更低的功耗和更小的体积;3、SCSI接口等等。

1023

2023.10.19

PHP接口编写教程
PHP接口编写教程

本专题整合了PHP接口编写教程,阅读专题下面的文章了解更多详细内容。

66

2025.10.17

php8.4实现接口限流的教程
php8.4实现接口限流的教程

PHP8.4本身不内置限流功能,需借助Redis(令牌桶)或Swoole(漏桶)实现;文件锁因I/O瓶颈、无跨机共享、秒级精度等缺陷不适用高并发场景。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

426

2025.12.29

堆和栈的区别
堆和栈的区别

堆和栈的区别:1、内存分配方式不同;2、大小不同;3、数据访问方式不同;4、数据的生命周期。本专题为大家提供堆和栈的区别的相关的文章、下载、课程内容,供大家免费下载体验。

390

2023.07.18

堆和栈区别
堆和栈区别

堆(Heap)和栈(Stack)是计算机中两种常见的内存分配机制。它们在内存管理的方式、分配方式以及使用场景上有很大的区别。本文将详细介绍堆和栈的特点、区别以及各自的使用场景。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

572

2023.08.10

go中interface用法
go中interface用法

本专题整合了go语言中int相关内容,阅读专题下面的文章了解更多详细内容。

76

2025.09.10

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

1349

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

702

2023.06.29

高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

43

2026.01.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.3万人学习

Git 教程
Git 教程

共21课时 | 2.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号