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幾個小時后,已經沒有丟包增加的情況了

