TUNインタフェースのメモリ消費差

TUNインタフェースのメモリ消費差

TUNインターフェースのmulti_queue機能を試しています。うまく機能し、トラフィックが異なるキューに分散され、アプリケーションのパフォーマンスが向上します。

しかし、multi_queueと一緒にtuntapコマンドのみを使用してTUNインターフェイスを作成すると、multi_queue設定なしでtuptapコマンドを使用してインターフェイスを生成するよりも、カーネルがより多くのGBのメモリを消費することになります。

カーネル5.4.0-94-genericを実行しているUbuntu 20でテストしました。

私のテストは簡単でした。 vmstatを実行して利用可能なメモリを監視し、スクリプトを介してtuptapとmulti_queueを使用して1200 TUNインターフェイスを作成しました。

私の質問は、メモリ消費の間にこれらの違いが発生する理由です。ありがとうございます。

答え1

今理解できたと思います。今日、私たちがmulti_queue tunインタフェースを生成すると、カーネルは無条件に256個のキューを生成します。 multi_queue フラグを設定しないと、1 つの tx キューのみが生成されます。

関連情報