1.3. パケットドロップを回避するためにネットワークデバイスのバックログキューをチューニングする


ネットワークカードがパケットを受信し、カーネルプロトコルスタックがこれらのパケットを処理する前に、カーネルはこれらのパケットをバックログキューに保存します。カーネルは、CPU コアごとに個別のキューを維持します。

コアのバックログキューがいっぱいの場合、カーネルは、netif_receive_skb() カーネル関数がこのキューに割り当てるそれ以降の受信パケットをすべてドロップします。サーバーに速度が 10 Gbps 以上のネットワークアダプターまたは複数の 1 Gbps アダプターが含まれている場合は、バックログキューのサイズをチューニングしてこの問題を回避します。

前提条件

  • 速度が 10 Gbps 以上、または複数の 1 Gbps ネットワークアダプター

手順

  1. バックログキューのチューニングが必要かどうかを判断し、/proc/net/softnet_stat ファイル内のカウンターを表示します。

    # awk '{for (i=1; i<=NF; i++) printf strtonum("0x" $i) (i==NF?"\n":" ")}' /proc/net/softnet_stat | column -t
    221951548  0      0  0  0  0  0  0  0  0  0  0  0
    192058677  18862  0  0  0  0  0  0  0  0  0  0  1
    455324886  0      0  0  0  0  0  0  0  0  0  0  2
    ...

    この awk コマンドは、/proc/net/softnet_stat の値を 16 進形式から 10 進形式に変換し、表形式で表示します。各行は、コア 0 から始まる CPU コアを表します。

    関連する列は次のとおりです。

    • 最初の列: 受信フレームの総数
    • 2 番目の列: バックログキューがいっぱいであるためにドロップされたフレームの数
    • 最後の列: CPU コア番号
  2. /proc/net/softnet_stat ファイルの 2 番目の列の値が時間の経過とともに増加する場合は、バックログキューのサイズを増やします。

    1. 現在のバックログキューのサイズを表示します。

      # sysctl net.core.netdev_max_backlog
      net.core.netdev_max_backlog = 1000
    2. 次の内容を含む /etc/sysctl.d/10-netdev_max_backlog.conf ファイルを作成します。

      net.core.netdev_max_backlog = 2000

      net.core.netdev_max_backlog パラメーターを現在の値の 2 倍に設定します。

    3. /etc/sysctl.d/10-netdev_max_backlog.conf ファイルから設定をロードします。

      # sysctl -p /etc/sysctl.d/10-netdev_max_backlog.conf

検証

  • /proc/net/softnet_stat ファイルの 2 番目の列を監視します。

    # awk '{for (i=1; i<=NF; i++) printf strtonum("0x" $i) (i==NF?"\n":" ")}' /proc/net/softnet_stat | column -t

    それでも値が増加する場合は、net.core.netdev_max_backlog 値を再度 2 倍にします。パケットドロップカウンターが増加しなくなるまで、このプロセスを繰り返します。

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る