游乐游手机版
首页/系统平台/文章详情

Linux用ethtool查看网卡驱动版本及常用参数详解

时间:2026-06-07 07:40
排查网络问题,特别是涉及硬件与驱动层面时,ethtool 命令几乎是不可或缺的诊断利器。该工具直接与网卡驱动交互,能够提供比常规网络命令更底层的故障定位信息。今天,我们来梳理几个最常用、最核心的 ethtool 参数,看看在实际运维场景中如何高效运用。 如何用 ethtool -i 查询网卡驱动版本

排查网络问题,特别是涉及硬件与驱动层面时,ethtool 命令几乎是不可或缺的诊断利器。该工具直接与网卡驱动交互,能够提供比常规网络命令更底层的故障定位信息。今天,我们来梳理几个最常用、最核心的 ethtool 参数,看看在实际运维场景中如何高效运用。

Linux怎么查看网络接口的驱动版本 Linux下ethtool常用参数详解

如何用 ethtool -i 查询网卡驱动版本

想确认当前网卡实际加载的驱动版本?最直接、可靠的做法是执行 ethtool -i <接口名>。该命令直接从内核接口读取实时信息,不依赖任何外部文件或日志,结果最为准确。输出中的 driverversion 两行即为所需答案。

这里有个常见误区:许多人习惯用 modinfo 查看版本。需要留意的是,对于 r8169 这类驱动,modinfo 显示的可能是内核编译时的版本号,而 ethtool -i 返回的才是当前实际加载并正在运行的驱动版本。哪个更具参考价值,显而易见。

  • 权限要求:必须以 root 权限执行,否则会提示 Operation not permitted
  • 接口名要准确:先用 ip link showls /sys/class/net/ 确认接口名称,避免输入带冒号的别名(如 eth0:)。
  • 版本为空怎么办:如果输出中 version 字段为空,说明驱动本身未显式声明版本。此时可结合 modinfo <驱动名>,查看 srcversionvermagic 字段辅助判断。

ethtool 查看链路状态与协商能力的关键参数

遇到网卡显示 UP 但实际不通的情况,首先要检查链路状态。直接运行 ethtool <接口名>(不带任何选项),即可看到当前速率、双工模式、自动协商开关以及物理连接状态。

重点关注三行信息:Speed(实际协商出的速率)、Auto-negotiation(自动协商是否启用)、Link detected(物理层是否检测到信号)。这三者若出现矛盾,问题通常就出在这里。例如,交换机端口关闭了自动协商,而本机却开启着,结果往往卡在 Link detected: no 状态。

  • Advertised link modes:这是本机主动向对端通告的能力列表,并非当前实际生效的配置。
  • Supported link modes:这是网卡硬件(PHY 芯片)真实支持的速率与双工组合,通常由硬件决定,驱动一般不干预。
  • 强制设置需谨慎:在执行远程命令如 ethtool -s <接口> autoneg off speed 1000 duplex full 之前,务必确认对端交换机端口也已设置了相同的强制模式(1G 全双工),否则极有可能导致链路中断。

为什么 ethtool -S 统计值比 /proc/net/dev 更精细

当需要深入分析丢包原因时,ethtool -S <接口名> 是最佳选择。它输出驱动层和网卡硬件寄存器中的原始计数器,包含各种丢包细节,比如 rx_missed_errors(接收遗漏)、tx_aborted_errors(发送中止)等。相比之下,/proc/net/dev 只统计进入和离开内核协议栈的字节数、包数,中间环节的“黑盒”问题无法察觉。

典型场景:ifconfig 显示接收错误(RX errors)很高,但上层业务似乎正常。此时可用 ethtool -S 定位:如果是 rx_fifo_errors 在增长,可能是接收环缓冲区(ring buffer)溢出,需要调大;如果是 rx_crc_errors 增加,则需要检查线缆或对端设备的物理层。

  • 字段名不统一:不同驱动导出的统计字段名差异较大。igbe1000e 驱动可能有 rx_long_length_errors,而 r8169 驱动可能根本不提供该统计项。
  • 计数器类型:部分统计项对应只读的硬件寄存器,重启网卡或系统后会清零;另一些(如 tx_timeout_count)是驱动维护的软件计数器,不会自动归零。
  • 性能考量:高频轮询 ethtool -S 会触发大量 ioctl 系统调用,可能影响性能。在生产环境做监控时,建议考虑使用 perf 或 eBPF 等开销更低的工具。

ethtool -gethtool -G 调整环形缓冲区的实际效果

调整接收(RX)和发送(TX)环形缓冲区的大小,主要用来解决两类问题:高吞吐场景下的丢包(缓冲区满导致 rx_missed_errors 上升),以及对延迟敏感的小包场景(减小缓冲区可降低中断延迟)。但实际效果高度依赖驱动和硬件的支持程度。

操作前,先用 ethtool -g <接口名> 查看当前值和硬件允许的最大值。这里有个陷阱:许多消费级网卡(例如部分 Realtek 芯片)最大仅支持 512,如果强行设为 4096 会静默失败。而 Intel 的 i40e 驱动,默认可能是 512,但最大可支持到 8192。

  • 内存占用:增大环形缓冲区会占用更多 DMA 内存。需要确保系统参数 vm.min_free_kbytes 设置合理,否则在内存紧张时,内核可能触发 OOM Killer。
  • 生效时机:修改后通常无需重启网卡即可生效,但旧缓冲区中尚未处理完的描述符(descriptor)会继续使用旧设置,新分配的才会使用新缓冲区。
  • 以读为准:通过 ethtool -G 设置的值,驱动不一定完全接受。最终生效的配置,应以再次执行 ethtool -g 返回的 Current hardware settings 为准。

最后提醒一下,驱动版本与硬件能力深度绑定。同一版本的驱动在不同型号的芯片上,通过 ethtool 暴露的功能可能天差地别。例如,在老型号的 PHY 芯片上使用 --show-eee(查询节能以太网状态)参数,很可能直接返回 Operation not supported,而不仅仅是显示为关闭状态。了解你的硬件,永远是精准排障的第一步。

来源:https://www.php.cn/faq/2402603.html
上一篇Windows批量修改文件后缀名,批处理脚本一键完成 下一篇Windows系统权限不足无法删除文件夹?获取管理员所有权
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
Linux tail -f命令实操:实时查看文件增长内容
系统平台 · 2026-06-07

Linux tail -f命令实操:实时查看文件增长内容

在Linux环境下排查系统故障时,实时监控日志文件的内容增长是最常用的诊断手段之一。而tail -f命令,无疑是大家最先想到、也最直接的工具。不过,它并非万能解决方案。简单来说,它只负责“追加”监听,对于日志滚动、文件轮转或者权限变更这些生产环境里的常见场景,它就显得力不从心了。 你是否遇到过这样的

Windows批量删除注册表残留提升系统响应速度教程
系统平台 · 2026-06-07

Windows批量删除注册表残留提升系统响应速度教程

你的Windows是不是越用越迟钝?明明已经卸载的软件,却仍在“设置”的应用列表里挥之不去,甚至在“此电脑”里留下几个失效的图标?这多半不是错觉,而是注册表里堆积了太多“垃圾”——那些无效的卸载项、空壳的扩展键,如同系统里散落的“幽灵文件”,拖慢了响应速度,也扰乱了界面整洁。 不必忧虑,清除这些残留

修复Windows无法连接iPhone15/16热点超时问题
系统平台 · 2026-06-07

修复Windows无法连接iPhone15/16热点超时问题

遇到Windows电脑始终无法连接iPhone 15或16的个人热点,确实令人困扰。屏幕上要么持续转圈,要么显示“正在获取IP地址”、“连接超时”,甚至Wi-Fi列表中根本搜不到热点信号。请放心,这通常并非硬件损坏,而是由常见的软件兼容性或系统设置冲突引起的。下面这套系统化的排查方案,能帮助你逐步定

Win11无法识别NVMe硬盘?修复主板BIOS识别SSD教程
系统平台 · 2026-06-07

Win11无法识别NVMe硬盘?修复主板BIOS识别SSD教程

新购置的NVMe固态硬盘已经正确安装到主板上,但Windows 11系统中却始终无法识别?先别担心是硬盘故障,这通常是系统在底层沟通环节出现了小问题。从BIOS UEFI参数配置、驱动程序兼容性到物理连接状态,任何一个环节的细微偏差都可能导致系统无法正常检测到硬盘。接下来,我们将按照故障排查的逻辑顺

Win11多桌面切换手势开启教程 提升触控板操作效率
系统平台 · 2026-06-07

Win11多桌面切换手势开启教程 提升触控板操作效率

Windows11触控板四指左右滑动可切换虚拟桌面以提升效率。若手势失效或设置选项缺失,需确认触控板为精密触控板,并通过系统设置启用功能。若选项不可用,可尝试修改注册表、执行PowerShell命令或检查虚拟桌面功能是否开启,以恢复手势支持。