Red Hat Training
A Red Hat training course is available for RHEL 8
34.10. デバイスドライバーと NIC のチューニング
RHEL では、カーネルモジュールは、ネットワークインターフェイスコントローラー (NIC) 用のドライバーを提供します。これらのモジュールは、デバイスドライバーと NIC をチューニングおよび最適化するためのパラメーターをサポートしています。たとえば、ドライバーが受信割り込みの生成の遅延をサポートしている場合は、対応するパラメーターの値を減らして、受信記述子の不足を避けることができます。
すべてのモジュールがカスタムパラメーターをサポートしているわけではなく、機能はハードウェア、ドライバーおよびファームウェアのバージョンによって異なります。
34.10.1. カスタム NIC ドライバーのパラメーターの設定
多くのカーネルモジュールは、ドライバーとネットワークインターフェイスコントローラー (NIC) をチューニングするためのパラメーターの設定をサポートしています。ハードウェアやドライバーに応じて設定をカスタマイズできます。
カーネルモジュールにパラメーターを設定すると、RHEL はこれらの設定をこのドライバーを使用するすべてのデバイスに適用します。
前提条件
- ホストに NIC がインストールされている。
- NIC のドライバーを提供するカーネルモジュールは、必要なチューニング機能をサポートしている。
- ローカルでログインしているか、パラメーターを変更するドライバーを使用するネットワークインターフェイスとは異なるネットワークインターフェイスを使用してログインしている。
手順
ドライバーを特定します。
# ethtool -i enp0s31f6 driver: e1000e version: ... firmware-version: ... ...
特定の機能には、特定のドライバーとファームウェアのバージョンが必要になる場合があることに注意してください。
カーネルモジュールの利用可能なパラメーターを表示します。
# modinfo -p e1000e ... SmartPowerDownEnable:Enable PHY smart power down (array of int) parm:RxIntDelay:Receive Interrupt Delay (array of int)
パラメーターの詳細については、カーネルモジュールのドキュメントを参照してください。RHEL のモジュールについては、
kernel-doc
パッケージで提供される/usr/share/doc/kernel-doc-<version>/Documentation/networking/device_drivers/
ディレクトリーにあるドキュメントを参照してください。/etc/modprobe.d/nic-parameters.conf
ファイルを作成し、モジュールのパラメーターを指定します。options <module_name> <parameter1>=<value> <parameter2>=<value>
たとえば、ポートの省電力メカニズムを有効にし、受信割り込みの生成を 4 ユニットに設定するには、次のように入力します。
options e1000e SmartPowerDownEnable=1 RxIntDelay=4
モジュールをアンロードします。
# modprobe -r e1000e
警告アクティブなネットワークインターフェイスが使用するモジュールをアンロードすると、接続が即座に終了し、サーバーからロックアウトされる可能性があります。
モジュールをロードします。
# modprobe e1000e
ネットワーク接続を再アクティブ化します。
# nmcli connection up <profile_name>
検証
カーネルメッセージを表示します。
# dmesg ... [35309.225765] e1000e 0000:00:1f.6: Transmit Interrupt Delay set to 16 [35309.225769] e1000e 0000:00:1f.6: PHY Smart Power Down Enabled ...
すべてのモジュールがパラメーター設定をカーネルリングバッファーに記録するわけではないことに注意してください。
特定のカーネルモジュールは、モジュールパラメーターごとに
/sys/module/<driver>/parameters/
ディレクトリーにファイルを作成します。これらの各ファイルには、このパラメーターの現在の値が含まれています。これらのファイルを表示して設定を確認できます。# cat /sys/module/<driver_name>/parameters/<parameter_name>