修改网卡缓存,解决Linux 网卡丢包严重问题

修改网卡缓存,解决Linux 网卡丢包严重问题

Linux 网卡丢包严重

生产中有一台linux设备并发比较大,droped包比较多,尤其是在跑游戏数据包的时候,存在严重的丢包现象,怀疑网卡性能不足,在更换设备前想能不有通过软件方法解决,通过网上一些资料显示,出现这种现象,也有可能是网卡buffer size 太小的原因,遂尝试更改buffer 大小解决,下面的设备运行了64天,丢包超过20多亿

图片1网卡丢包严重.png
找了一些国外的文章,可以通过ethtool来修改网卡的buffer size ,首先要网卡支持,我的服务器是是INTEL 的1000M网卡,我们看看ethtool说明 
-g   –show-ringQueries the specified ethernet device for rx/tx ring parameter information.
-G   –set-ringChanges the rx/tx ring parameters of the specified ethernet device.
查看当前网卡的buffer size情况
ethtool -g eth0    
Ring parameters for eth0:
Pre-set maximums:
RX: 4096RX Mini: 0
RX Jumbo: 0
TX: 4096
Current hardware settings:
RX: 256
RX Mini: 0
RX Jumbo: 0
TX: 256
由于我的是rx包会有droped的情况我们用
ethtool -G eth0 rx 2048 

同样对于eth1也是如此ethtool -G eth1 rx 2048

再看看修改过后的

ethtool -g eth0 
Ring parameters for eth0:
Pre-set maximums:
RX: 4096
RX Mini: 0
RX Jumbo: 0
TX: 4096
Current hardware settings:
RX: 2048
RX Mini: 0
RX Jumbo: 0
TX: 2048
几个小时后,已经没有丢包增加的情况了

猜你喜欢

转载自www.cnblogs.com/zhangyunfei-blog/p/9288534.html