小樱 发表于 2024/10/25 03:36

Linux内核eth0网卡RX下行接收数据包出现udp丢包

Linux内核eth0网卡RX下行接收数据包出现udp丢包

解决办法
发现网卡达到了默认的256队列限制,由于该数值无法调整,只能通过升级CPU配置,以便更快处理数据包
ifconfig eth0 | grep dropped
      RX errors 0dropped 810478overruns 0frame 0
      TX errors 0dropped 0 overruns 0carrier 0collisions 0

尝试设置内核参数接收的,包括发送
echo "net.core.rmem_max = 67108864" >> /etc/sysctl.conf
echo "net.core.wmem_max = 67108864" >> /etc/sysctl.conf

甚至改了这个,都没有用,观察 cat /proc/net/softnet_stat 第三列数值依旧会上涨触发Squeezed
echo "net.core.netdev_budget = 100000" >> /etc/sysctl.conf

这个backlog一般不会发生,改不改8192无所谓,因为不会发生第二列数值
echo "net.core.netdev_max_backlog = 8192" >> /etc/sysctl.conf

然后执行 /sbin/sysctl -p 让参数生效

经过测试,一点用都没有,依旧会发生RcvbufErrors丢包现象

最终升级服务器配置,完美解决下行丢包问题,kvm的virtio_pci都2024年了依旧垃圾的一笔,能干费40%的si软中断消耗

页: [1]
查看完整版本: Linux内核eth0网卡RX下行接收数据包出现udp丢包