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

Posted Avatarx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了修改网卡缓存,解决Linux 网卡丢包严重问题相关的知识,希望对你有一定的参考价值。

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

技术图片
 
找了一些国外的文章,可以通过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
几个小时后,已经没有丢包增加的情况了

以上是关于修改网卡缓存,解决Linux 网卡丢包严重问题的主要内容,如果未能解决你的问题,请参考以下文章

Killer 1525无线网卡丢包严重怎么办

网卡参数优化理解

ethtool原理介绍和解决网卡丢包排查思路

如何查看linux软中断信息

怎么降低丢包率

linux网卡掉包或挂掉解决办法