Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

CentOS 6 解決 Ping 外網嚴重丟包:調整網卡 RX/TX 環形緩衝區

編輯:Linux 系統常見問題解答

問題現象

  • Ping 內網正常,Ping 外網(如 8.8.8.8)嚴重丟包
  • 懷疑網卡驅動預設環形緩衝區過小,導致突發流量丟包

診斷與調整步驟

  1. 查看目前硬體支援的最大緩衝區
    ethtool -g eth0

    輸出含 Pre-set maximums(硬體上限)與 Current hardware settings(目前值)。

  2. 調大 RX/TX 環形緩衝區
    ethtool -G eth0 rx 2048
    ethtool -G eth0 tx 2048

    數值不得超過 Pre-set maximums 顯示的上限。常見預設 256/512,調至 1024/2048 通常即可改善。

  3. 驗證效果
    ping -c 10 8.8.8.8

    觀察丟包率是否歸零。

  4. 永久生效(開機自動套用)
    echo 'ethtool -G eth0 rx 2048' >> /etc/rc.local
    echo 'ethtool -G eth0 tx 2048' >> /etc/rc.local
    chmod +x /etc/rc.local

    CentOS 7+ 建議改用 NetworkManager dispatcher 腳本或 systemd 服務單元。

參數說明

  • -g:查詢 RX/TX 參數
  • -G:設定 RX/TX 參數
  • rx:接收環大小;tx:傳送環大小

注意事項

  • 調大緩衝區會增加核心記憶體佔用,視實體記憶體而定。
  • 若為虛擬機(VMware/VirtualBox/KVM),請先確認虛擬網卡型號(virtio/e1000)與驅動支援度。
  • 持續丟包仍存在時,需進一步排查:交換器/路由器 QoS、防火牆、ISP 線路、MTU 不匹配等。
Copyright © Windows教程網 All Rights Reserved