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

查网卡基本信息:用 ethtool 看实时状态
直接运行 ethtool eth0(把 eth0 换成你的真实网卡名)就能看到速率、双工模式、是否连接、驱动型号等关键信息。它不依赖内核模块加载状态,比 ifconfig 或 ip link 更贴近物理层。
常见错误现象:输出里 Link detected: no 但网线明明插着——先检查网线、交换机端口、网卡指示灯,再确认是否被 ifconfig eth0 down 过;Speed: Unknown! 通常是网卡未协商成功或驱动不支持读取。
- 用
ip -s link show eth0可以补看收发包统计,但看不到物理协商细节 ethtool -i eth0查驱动和固件版本,升级驱动前必跑这句- 部分虚拟网卡(如
veth、macvlan)不支持ethtool,会报No such device或直接退出
改网卡速率和双工:用 ethtool -s 强制协商
手动设速率只在调试或对接老设备时需要,日常应让网卡自动协商(autoneg on)。强制设置后若对端不匹配,会导致丢包、中断连接甚至链路反复 up/down。
典型命令:ethtool -s eth0 speed 1000 duplex full autoneg off。注意参数顺序无关,但 autoneg off 必须显式写上,否则 speed 和 duplex 不生效。
- 设置前先用
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 down或PHY reset failed ethtool -S eth0显示驱动统计计数器(如rx_missed_errors),比寄存器更易解读,优先看这个- 部分 Realtek 网卡在
ethtool -d中会显示乱码,属驱动限制,不是你操作错
判断网卡是否支持高级特性:用 ethtool -k 和 -K
ethtool -k eth0 列出所有 offload 特性(如 tcp-segmentation-offload、rx、tx)当前开关状态;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 modes 和 Advertised link modes 的差异——前者是网卡能力,后者是当前通告给对端的能力,两者不一致往往就是协商失败的根源。
理论要掌握,实操不能落!以上关于《Linux下ethtool查看网卡参数技巧》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!
Go结构体Tag与反射使用解析
- 上一篇
- Go结构体Tag与反射使用解析
- 下一篇
- PHP数组函数链式调用的可读性分析
-
- 文章 · linux | 37分钟前 | 定时任务 · Linux · 运维 · Linux OnCalendar Persistent systemd timer
- systemd timer 的 Persistent 为什么能补跑错过任务
- 294浏览 收藏
-
- 文章 · linux | 4小时前 | Linux · 故障排查 · Linux GDB coredumpctl systemd-coredump
- coredumpctl 怎么把指定崩溃导出给调试器
- 233浏览 收藏
-
- 文章 · linux | 8小时前 | Linux · 运维 · journalctl journald持久化 systemd日志 Storage persistent 重启日志
- journald 怎么把重启前的日志持久化到磁盘
- 166浏览 收藏
-
- 文章 · linux | 11小时前 | Linux · 故障排查 · 服务管理 · systemd RestartSec StartLimitBurst StartLimitIntervalSec
- systemd 服务频繁重启时怎么设置启动限流
- 426浏览 收藏
-
- 文章 · linux | 18小时前 |
- systemd timer 怎么用 RandomizedDelaySec 错峰执行
- 243浏览 收藏
-
- 文章 · linux | 20小时前 |
- Linux core_pattern 管道处理程序怎么接收崩溃信息
- 132浏览 收藏
-
- 文章 · linux | 22小时前 | Linux io_uring 异步取消 IORING_OP_ASYNC_CANCEL
- Linux io_uring 怎么取消尚未完成的请求
- 395浏览 收藏
-
- 文章 · linux | 1天前 | Linux · Linux user namespace uid_map
- Linux user namespace 的 uid_map 怎么配置
- 231浏览 收藏
-
- 文章 · linux | 1天前 | 网络安全 · Linux 防火墙 nftables 动态集合 set timeout gc-interval
- Linux nftables 动态集合怎么设置元素过期时间
- 470浏览 收藏
-
- 文章 · linux | 1天前 | Linux · 内存管理 · Linux OOM oom_score_adj 进程回收
- Linux oom_score_adj 怎么控制进程被回收优先级
- 306浏览 收藏
-
- 文章 · linux | 1天前 | 进程管理 · Linux cgroup v2 cgroup.freeze cgroup.events cgroup.procs 进程冻结
- Linux cgroup v2 怎么冻结并恢复一组进程
- 467浏览 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 485次学习
-
- PubMedQA
- 深入了解PubMedQA生物医学问答数据集,涵盖其核心功能、使用方法及在临床决策、药物研发等场景的应用,助力提升NLP模型性能。
- 343次使用
-
- H2O EvalGPT
- H2O EvalGPT是H2O.ai推出的开源LLM评估平台,提供详细的大模型性能排行榜、行业特定基准测试及A/B测试功能,助您快速选择最适合项目的高性能大语言模型。
- 403次使用
-
- LMArena
- LMArena是加州大学伯克利分校推出的AI模型匿名评测平台。通过盲测投票机制,用户可对比不同大模型回答并生成实时排行榜,助力开发者优化模型及用户选择最佳AI工具。
- 404次使用
-
- HELM
- 深入了解斯坦福推出的HELM(Holistic Evaluation of Language Models)大模型评测体系。本文解析其核心功能、安装配置步骤及应用场景,涵盖准确性、公平性、鲁棒性等多维度指标,助力开发者全面优化语言模型性能。
- 362次使用
-
- MMBench
- MMBench是由上海人工智能实验室等机构联合推出的多模态基准测试平台,提供细粒度能力评估、大规模数据集及VLMEvalKit工具。本文详细介绍其核心功能、安装使用方法及应用场景,助力开发者全面评估多模态模型性能。
- 185次使用
-
- Linux vmstat 如何分辨内存抖动与磁盘等待:si、so、wa 与复测顺序
- 2026-08-30 501浏览
-
- Linux搭建vsftpdFTP服务器教程
- 2026-04-30 501浏览
-
- Shell脚本安装教程:.sh一键安装指南
- 2026-03-16 501浏览
-
- Linux清空文件内容的几种方法
- 2025-12-01 501浏览
-
- Linux命令行下载文件技巧
- 2025-11-23 501浏览

