1、 查看局域网内是否有MAC冲突;
2、 UDP丢包可以先增大协议栈缓存空间:
接收端:
echo 2129999999 > /proc/sys/net/core/rmem_max echo 2129999999 > /proc/sys/net/core/rmem_default
发送端:
echo 2129999999 > /proc/sys/net/core/wmem_default echo 2129999999 > /proc/sys/net/core/wmem_max
注:发送端的wmem_default不能大于接收端的rmem_default。
3、 查看ethtool -S <网口名> | grep -E “error|drop”:
rx_crc_errors: # 计数不为0代表有CRC错误,一般是模块或者网线问题,考虑先更换光纤/网线及光模块。 rx_fifo_errors:# Ring buffer满而导致丢包,通过ethtool -g查看当前值与最大值,ethtool -G ethx rx <rx> tx <tx>修改tx、rx Ring Buffer。 rx_missed_errors:# CPU处理不过来DMA中的ring buffer缓存报文导致的丢包。 # 解决方法是: a)# 网口中断绑定到不同的CPU; b)# UDP流量可以开启RSS; c)ethtool -G ethx rx <rx> # 增加队列深度,注意一般arm平台的OS页大小是64k,增加队列深度会导致内存占用高,可配合修改驱动源码中src/ kcompat.h文件解决。 d)numactl -H # 查看网卡numa node对应的内存使用情况,如内存占用过高会跨节点访问其他内存,导致处理速率慢,可通过绑核及增大物理内存解决。
4、两端开启流控:
开启命令:ethtool -A enP1p1s0f1 rx on tx on
查看状态命令:ethtool -a enP1p1s0f1
标签:ethtool,丢包,rx,网卡,2129999999,内存,解决,net,proc From: https://www.cnblogs.com/HByang/p/18651454