登录
首页 >  文章 >  linux

Linux下ethtool查看网卡参数技巧

时间:2026-03-29 12:18:44 399浏览 收藏

ethtool 是 Linux 下深入诊断和精细调控网卡物理层行为的利器,不仅能实时查看速率、双工、链路状态、驱动固件版本等关键信息,还可强制设置协商参数、读取底层寄存器、软复位 PHY、启停硬件卸载特性,并提供丰富的统计计数器;但其命令灵活背后暗藏兼容性陷阱、非持久化限制及生产环境风险——比如强制关闭自动协商易引发链路震荡,直接读寄存器需谨慎解读,开启TSO/GSO可能与中间网络设备冲突,而真正定位协商失败往往要对比“Supported”与“Advertised”链路模式的差异。掌握这些技巧,你才能从“网不通”的慌乱排查跃升为精准掌控网络底层的运维高手。

Linux怎么使用ethtool_Linux如何查看和配置网卡参数【技巧】

查网卡基本信息:用 ethtool 看实时状态

直接运行 ethtool eth0(把 eth0 换成你的真实网卡名)就能看到速率、双工模式、是否连接、驱动型号等关键信息。它不依赖内核模块加载状态,比 ifconfigip link 更贴近物理层。

常见错误现象:输出里 Link detected: no 但网线明明插着——先检查网线、交换机端口、网卡指示灯,再确认是否被 ifconfig eth0 down 过;Speed: Unknown! 通常是网卡未协商成功或驱动不支持读取。

  • ip -s link show eth0 可以补看收发包统计,但看不到物理协商细节
  • ethtool -i eth0 查驱动和固件版本,升级驱动前必跑这句
  • 部分虚拟网卡(如 vethmacvlan)不支持 ethtool,会报 No such device 或直接退出

改网卡速率和双工:用 ethtool -s 强制协商

手动设速率只在调试或对接老设备时需要,日常应让网卡自动协商(autoneg on)。强制设置后若对端不匹配,会导致丢包、中断连接甚至链路反复 up/down。

典型命令:ethtool -s eth0 speed 1000 duplex full autoneg off。注意参数顺序无关,但 autoneg off 必须显式写上,否则 speedduplex 不生效。

  • 设置前先用 ethtool eth0 确认当前 Supports auto-negotiation 是 yes,否则硬设无效
  • 某些网卡(如部分 Intel I210)在 autoneg off 后不支持 10Mbps 半双工,强行设会静默失败
  • 配置不会持久化,重启或 ifdown/ifup 后丢失,需写进 /etc/network/interfaces(Debian)或 nmcli(RHEL)中

看网卡驱动日志和寄存器:用 ethtool -d-r

ethtool -d eth0 输出网卡内部寄存器快照,用于排查硬件级异常,比如 PHY 寄存器显示 Link status 为 0 但物理灯亮——可能 PHY 供电异常或固件卡死;ethtool -r eth0 是软复位 PHY,比 ifconfig down/up 更底层,能解决部分协商僵死问题。

风险提示:直接读寄存器需 root 权限,且不同芯片寄存器布局差异大,没文档别瞎猜字段含义;-r 可能导致短暂断连,生产环境慎用。

  • 搭配 dmesg | grep -i eth0 看内核是否报 link downPHY reset failed
  • ethtool -S eth0 显示驱动统计计数器(如 rx_missed_errors),比寄存器更易解读,优先看这个
  • 部分 Realtek 网卡在 ethtool -d 中会显示乱码,属驱动限制,不是你操作错

判断网卡是否支持高级特性:用 ethtool -k-K

ethtool -k eth0 列出所有 offload 特性(如 tcp-segmentation-offloadrxtx)当前开关状态;ethtool -K eth0 tso on 可开启 TCP 分段卸载。这些功能能降低 CPU 负载,但某些旧防火墙或中间设备不兼容 TSO/GSO,会导致分片异常。

容易踩的坑:开启 rx(接收端聚合)后,抓包工具(如 tcpdump)看到的包长可能大于 MTU——那是驱动在内核里合并过的,实际线缆上仍是小包。

  • 虚拟化场景下,KVM/QEMU 默认关闭大部分 offload,ethtool -k 会显示全 off,这是预期行为
  • ethtool -K eth0 gso off 关闭 GSO 后,若应用仍发大包,内核会在协议栈里分片,性能下降明显
  • 某些 Broadcom 网卡在启用 lro(Large Receive Offload)后,netstat -s 的 TCP 统计会失真,建议关掉

真实调试时,ethtool 的输出项多、字段隐晦,最常被忽略的是 Supported link modesAdvertised link modes 的差异——前者是网卡能力,后者是当前通告给对端的能力,两者不一致往往就是协商失败的根源。

理论要掌握,实操不能落!以上关于《Linux下ethtool查看网卡参数技巧》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

资料下载
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>