修改網卡緩存,解決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
幾個小時后,已經沒有丟包增加的情況了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM