Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

31.6. モジュールパラメーターの設定

また、カーネル自体と同様に、モジュールは動作を変更するパラメーターを取ることもできます。多くの場合、デフォルトのパラメーターは適切に機能しますが、モジュール用のカスタムパラメーターを設定する必要がある場合があります。実行中のカーネルにすでにロードされているモジュールにはパラメーターを動的に設定できないため、設定方法は 2 つあります。
  1. コマンドラインで modprobe コマンドを実行し、カスタマイズされたパラメーターの一覧を実行して、カーネルモジュールを読み込みます。モジュールがすでにロードされている場合は、modprobe -r コマンドを使用して、最初にすべての依存関係とモジュール自体をアンロードする必要があります。この方法では、変更を永続化せずに、特定の設定でカーネルモジュールを実行できます。詳細は、「カスタマイズされたモジュールの読み込み: 一時的な変更」 を参照してください。
  2. または、/etc/modprobe.d/ ディレクトリーにある、既存のファイルまたは新たに作成されたファイルで、カスタマイズしたパラメーターの一覧を指定します。この方法では、再起動または modprobe コマンドごとに、モジュールが読み込まれるたびに指定のパラメーターを設定すると、モジュールのカスタマイズが永続化されます。詳細は、「カスタマイズされたモジュールの読み込み - 永続的な変更」 を参照してください。

31.6.1. カスタマイズされたモジュールの読み込み: 一時的な変更

特定の設定でカーネルモジュールを一時的に実行するのに役に立つ場合もあります。現在のシステムセッション用にカスタマイズしたパラメーターでカーネルモジュールを読み込むか、モジュールが別のパラメーターでリロードされるまでは、root で以下の形式の modprobe を実行します。
~]# modprobe <module_name> [parameter=value]
[parameter=value] は、そのモジュールで利用可能なカスタマイズされたパラメーターのリストを表します。コマンドラインでカスタムパラメーターを使用してモジュールを読み込む場合は、以下の点に注意してください。
  • 複数のパラメーターおよび値を入力するには、それらをスペースで区切ります。
  • モジュールパラメーターによっては、コンマ区切りの値の一覧を引数として要求するものもあります。値の一覧を入力する際には、コンマごとにスペースを挿入し ない でください。または、modprobe は、以下のスペースの値を追加のパラメーターとして誤って解釈します。
  • モジュールが正常に読み込まれた場合、また はモジュールが すでに カーネルに読み込まれている場合は、modprobe コマンドは、終了ステータス 0 で警告なしで成功します。したがって、カスタムパラメーターで読み込む前に、モジュールがまだロードされていないことを確認する必要があります。modprobe コマンドは、モジュールを自動的に再読み込みしません。もしくは、すでに読み込まれていることを警告します。
以下の手順は、たとえば、Intel PRO/1000 ネットワークアダプターのネットワークドライバーである e1000e モジュールのカスタムパラメーターを使用してカーネルモジュールを読み込むのに推奨される手順を説明します。

手順31.1 カスタムパラメーターを使用したカーネルモジュールの読み込み

  1. 以下のコマンドを実行して、モジュールがまだカーネルに読み込まれていないことを確認します。
    ~]# lsmod|grep e1000e
    e1000e                236338  0 
    ptp                     9614  1 e1000e
    この例のコマンドの出力は、e1000e モジュールがすでにカーネルに読み込まれていることを示しています。また、このモジュールには ptp モジュールの依存関係が 1 つあることも示されています。
  2. モジュールがすでにカーネルに読み込まれている場合は、次のステップに進む前にモジュールとそのすべての依存関係をアンロードする必要があります。安全にアンロードする方法は、「モジュールのアンロード」 を参照してください。
  3. モジュールを読み込み、モジュール名の後にすべてのカスタムパラメーターを一覧表示します。たとえば、割り込みスロットルレートで Intel PRO/1000 ネットワークドライバーを読み込む場合は、ドライバーの 1 番目、秒、および 3 番目のインスタンスに対して、割り込みスロットルを 3000 割り込みに設定し、EEE(EEE)がオンになります。 [5]root で以下のコマンドを実行します。
    ~]# modprobe e1000e InterruptThrottleRate=3000,3000,3000 EEE=1
    この例では、コンマで複数の値を区切り、それらの間のスペースを省略して、複数の値を 1 つのパラメーターに渡す方法を示しています。


[5] この例が暗黙的である可能性はありますが、e1000e ドライバーでは、デフォルトで Ethernet がオンになっています。