0

0

NETDEV WATCHDOG: transmit queue timed out 导致网卡卡死的修复流程

冷漠man

冷漠man

发布时间:2026-01-28 20:56:03

|

782人浏览过

|

来源于php中文网

原创

先看dmesg报错括号内驱动名(如tg3),再用ethtool -i接口名|grep driver和lsmod|grep驱动名确认一致;若ethtool报“No such device”或lsmod无输出,即为驱动层异常。

netdev watchdog: transmit queue timed out 导致网卡卡死的修复流程

怎么快速确认是哪个网卡和驱动在出问题

报错里带括号的驱动名(比如 NETDEV WATCHDOG: eth0 (tg3): transmit queue 0 timed out)就是关键线索。别急着重启,先用两行命令锁死目标:

  • dmesg -T | grep -i "watchdog.*timed out" —— 看最近一次报错绑定的是哪个接口和驱动
  • ethtool -i eth0 | grep driver —— 验证驱动名是否一致(把 eth0 换成你实际的接口名)
  • lsmod | grep tg3 —— 确认模块已加载(tg3 替换为你的驱动名)

如果 ethtool 报 “No such device”,说明接口已被内核禁用;如果 lsmod 没输出,说明驱动可能已崩溃卸载——这两种情况都指向驱动层异常,不是配置或网络问题

临时恢复:不重启系统,让网卡“活过来”

这是最常用也最有效的应急操作,但必须确保你有带外访问(iDRAC/iLO)或本地终端,否则 ip link set eth0 down 后 SSH 会断连且无法恢复。

  • 先关闭接口:ip link set eth0 down
  • 卸载驱动:rmmod tg3(注意:某些驱动如 mlx5_core 依赖 mlx5_ib 等子模块,得按 lsmod | grep mlx5 输出顺序反向卸载)
  • 重载驱动:modprobe tg3
  • 启用接口:ip link set eth0 up
  • 验证是否恢复:ethtool eth0 | grep "Link detected" 应返回 yes,且 cat /proc/interrupts | grep eth0 中中断计数随流量增长

rmmodModule tg3 is in use,用 lsof -nPi | grep eth0 查占用进程;强制卸载(rmmod -f)风险高,可能引发 panic,不推荐。

永久修复:盯紧固件、驱动参数、硬件三处硬伤

临时重载只是绕过问题,真正稳定要从底层收敛。90% 的反复触发都源于这三点:

BibiGPT-哔哔终结者
BibiGPT-哔哔终结者

B站视频总结器-一键总结 音视频内容

下载
  • 固件过旧:Broadcom tg3、Intel e1000e 在高吞吐下易卡死 TX 状态机。去官网下载最新 .bin 固件 + 安装对应 firmware 包(如 bnx2-firmwareintel-microcode),别信 distro 自带的“够用”版本
  • 驱动参数失配:比如 r8169 驱动对老 Realtek 芯片兼容性差,常需换回厂商提供的 r8168;又如 ethtool -K eth0 tso off 关闭 TCP 分段卸载,可缓解部分 DMA 映射失败场景
  • 硬件隐性故障:曾有案例是网口电路中一个 0402 封装电阻虚焊,热胀冷缩后间歇开路,dmesg 反复刷 watchdog 错误,但 ethtoolping 全部正常——这种必须拆机查板,万用表测阻值+热风枪补焊

内核启动参数如 acpi=off noapic 是“试错型兜底”,仅适用于老旧服务器 BIOS/ACPI 实现有缺陷的场景,现代系统加了反而可能引发其他中断异常,别当成标准解法。

为什么不能只靠 sysctl 或网络服务重启

这个错误不是网络配置问题,而是内核发现驱动 ndo_tx_timeout 回调未被及时触发,于是主动停用队列并归零 tx_queue_len。所以:

  • systemctl restart networkingNetworkManager 无效——它只重载用户态配置,驱动状态早已僵死
  • sysctl -w net.ipv4.tcp_ecn=0 或关 IPv6 也没用——这些影响的是协议栈行为,不解决 TX 描述符耗尽、DMA 失败或中断丢失等驱动层死锁
  • 错误日志出自 net/sched/sch_generic.cdev_watchdog() 函数,本质是内核对驱动“不作为”的惩罚机制,不是告警,是判决

真正难排查的,是那些看起来一切正常却突然卡死的案例:ping 通、tcpdump 能抓到包、ethtool 显示 link up,但所有出向流量停滞——这时候请直奔驱动源码和硬件,别在用户态打转。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

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

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

1103

2023.10.19

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

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

189

2025.10.17

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

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

1578

2025.12.29

java接口相关教程
java接口相关教程

本专题整合了java接口相关内容,阅读专题下面的文章了解更多详细内容。

18

2026.01.19

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

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

396

2023.07.18

堆和栈区别
堆和栈区别

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

575

2023.08.10

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

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

1394

2023.06.21

如何安装LINUX
如何安装LINUX

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

706

2023.06.29

俄罗斯Yandex引擎入口
俄罗斯Yandex引擎入口

2026年俄罗斯Yandex搜索引擎最新入口汇总,涵盖免登录、多语言支持、无广告视频播放及本地化服务等核心功能。阅读专题下面的文章了解更多详细内容。

158

2026.01.28

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
国外Web开发全栈课程全集
国外Web开发全栈课程全集

共12课时 | 1.0万人学习

进程与SOCKET
进程与SOCKET

共6课时 | 0.4万人学习

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

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