内核:igb 超过最大 2 秒(系统无响应)

内核:igb 超过最大 2 秒(系统无响应)

我的系统在几秒钟到几分钟内变得无响应。我在日志中看到的唯一消息如下:

Sep 16 18:07:33 server kernel: igb 0000:01:00.3: exceed max 2 second
Sep 16 18:07:50 server kernel: igb 0000:01:00.3: exceed max 2 second
Sep 16 18:07:58 server kernel: igb 0000:01:00.3: exceed max 2 second
Sep 16 18:08:08 server kernel: igb 0000:01:00.3: exceed max 2 second
Sep 16 18:08:17 server kernel: igb 0000:01:00.3: exceed max 2 second
Sep 16 18:08:57 server kernel: igb 0000:01:00.3: exceed max 2 second
Sep 16 18:09:04 server kernel: igb 0000:01:00.3: exceed max 2 second
Sep 16 18:09:11 server kernel: igb 0000:01:00.3: exceed max 2 second
Sep 16 18:09:25 server kernel: igb 0000:01:00.3: exceed max 2 second
Sep 16 18:09:58 server kernel: igb 0000:01:00.3: exceed max 2 second
Sep 16 18:10:05 server kernel: igb 0000:01:00.3: exceed max 2 second
Sep 16 18:10:12 server kernel: igb 0000:01:00.3: exceed max 2 second
Sep 16 18:10:24 server kernel: igb 0000:01:00.3: exceed max 2 second
Sep 16 18:10:31 server kernel: igb 0000:01:00.3: exceed max 2 second
Sep 16 18:10:38 server kernel: igb 0000:01:00.3: exceed max 2 second

我不知道从哪里开始解决这个问题。这些消息是否与系统无响应有关?

答案1

自从从 Devuan beowulf(使用内核 4.19)更新到 Chimera(使用内核 5.10)以来,我一直在看到这个问题(以及更多的NIC Link is Down消息)。NIC Link is Up00:14.0 Ethernet controller: Intel Corporation Ethernet Connection I354 (rev 03)超微 A1SRi-2558F木板。
它最常发生的网络接口连接到FRITZ!Box 6660 电缆路由器与弗里茨!操作系统:07.29(带有运行 Devuan 的 Intel NIC 的机器充当提供者控制器 FritzBox 后面的第二个路由器/防火墙)。

该问题通常发生在有一定负载的情况下,例如运行速度测试时,但也会(不太频繁地)发生在负载较小的情况下,例如视频会议。

什么似乎可以解决问题(“超过最大 2 秒”和链接下降几秒钟)是禁用EEE(一些节能的东西)在NIC上,具有:
ethtool --set-eee eth1 eee off

如果这个答案对于原始海报来说太晚了,我希望它至少对通过搜索引擎找到这个问题的其他人有帮助(只是阅读一条评论,告诉他们用谷歌搜索这个问题。我还没有在任何地方找到这个特定的解决方案别的)。

答案2

就我而言,这是网络电缆故障。您还可以检查电缆是否牢固地固定在网络插座中。更换电缆后问题解决。

答案3

您正在运行网桥吗?

今天早上,我在将 Ubuntu Server LTS 20.04 软件包常规升级到linux-image-5.4.0-139-generic.服务器有四个网络接口适配器,用作本地网络的网桥。

当执行以下调试命令时,以下消息引起了我的注意:

$ dmesg |grep 'igb\|bridge\|br0'

[ 30.295463] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.

这意味着br_netfilter默认情况下不再加载内核模块。这是桥梁工作所必需的。要检查该模块是否已加载,请发出以下命令。您应该会得到类似的答复。

$ lsmod |grep br_netfilter
br_netfilter           28672  0
bridge                176128  1 br_netfilter

如果没有,请添加br_netfilter到要加载的内核模块列表中,该列表位于/etc/modules我的系统上。对于其他/etc系统或发行版本的变化,请参阅这里。重新启动系统,网桥应再次启动并运行。

相关内容