小编Ber*_*ard的帖子

Linux 服务器在 __netif_receive_skb_core 中丢弃 RX 数据包

我有一个 Ubuntu 18.04 服务器丢弃接收到的数据包,但我不知道为什么。

这是来自 netdata 的丢弃数据包的图表:

eno1-drops from netdata

服务器运行多个 docker 容器和网络,因此有多个 Linux 网桥和 veth 接口。不过,问题与物理接口有关。没有配置 VLAN。

除了 Docker 生成的规则外,机器没有 IPtables 规则。

网卡是 Intel I210(igb驱动程序)。

通过 TCP (rsync) 复制数据以 1G 线速工作,因此不会损坏很多 TCP 数据包。(由于窗口大小的减小,我预计 TCP 下降会极大地损害传输性能。)

# uname -a
Linux epyc 5.3.0-51-generic #44~18.04.2-Ubuntu SMP Thu Apr 23 14:27:18 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)

可以在 上看到 RX-DRP eno1,这是机器唯一的物理接口。它随着 ca 增加。2 数据包/秒,流量很小(管理员 ssh,仅少量 dns 查询)。

# netstat -ni
Kernel Interface table
Iface      MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR …
Run Code Online (Sandbox Code Playgroud)

ubuntu linux-networking packetloss

7
推荐指数
1
解决办法
3180
查看次数

标签 统计

linux-networking ×1

packetloss ×1

ubuntu ×1