構成ファイルには、システム上で作成されるプールに関する記述が含まれます。構成ファイルには、操作可能な構成要素と、そのリソースタイプが記述されています。
種類 |
説明 |
---|---|
pset |
プロセッサセット資源 |
pool |
資源の対応付けを示す名前付きの集合 |
system |
マシンレベルの実体 |
操作可能な構成要素については、poolcfg(1M) を参照してください。
構成ファイル /etc/pooladm.conf は、次の 2 つの方法で作成できます。
poolcfg を使って現在のシステム上の資源を検出し、その結果を構成ファイルに記録します。
この方法では、ファイルを簡単に作成できます。プール機能で操作できるシステム上のアクティブな資源とコンポーネントがすべて記録されます。資源には、既存のプロセッサセットの構成が含まれます。最後に、プロセッサセットの名前を変更したり、必要に応じてプールを作成したりして、構成を変更できます。
poolcfg を使用して、新しいプール構成を作成します。
この方法は、他のマシンの構成を作成する場合や、作成済みの構成を後で現在のマシンに適用する場合に使用します。
poolcfg または libpool を使用して、/etc/pooladm.conf ファイルを変更します。このファイルを直接編集しないでください。
/usr/sbin/poolcfg コマンドの -c オプションに discover を指定して、プール構成ファイルを作成します。作成される /etc/pooladm.conf ファイルには、既存のプロセッサセットが含まれます。
デフォルトのファイル名 /etc/pooladm.conf を使用する代わりに別のファイル名を指定することもできます。別のファイル名を指定すると、poolcfg コマンドは指定した別のファイルに対して実行されます。
たとえば、検出された構成を /tmp/foo ファイルに記録するには、次の手順に従います。
/usr/sbin/poolcfg コマンドの -c オプションの引数に create を指定して、tester というシステムに簡単な構成ファイルを作成します。-c オプションの引数に空白が含まれている場合は、引用符で囲んでください。
スーパーユーザーになります。
次のコマンドを入力します。
# poolcfg -c 'create system tester' |
構成ファイルの内容を読みやすい形式で表示します。
# poolcfg -c info system tester int system.version 1 boolean system.bind-default true string system.comment |
単純な構成を拡張するには、batch というプロセッサセットと batch というプールを作成して、両者を対応付けて結合します。-c オプションの引数に空白が含まれている場合は、引用符で囲んでください。
スーパーユーザーになります。
batch というプロセッサセットを作成します。
# poolcfg -c 'create pset batch (uint pset.min = 2; uint pset.max = 10)' |
batch というプールを作成します。
# poolcfg -c 'create pool batch' |
プロセッサセットとプールを対応付けて結合します。
# poolcfg -c 'associate pool batch (pset batch)' |
対応付けた後の構成を表示します。
# poolcfg -c info system tester int system.version 1 boolean system.bind-default true string system.comment pool batch boolean pool.default false boolean pool.active true int pool.importance 1 string pool.comment pset batch pset batch int pset.sys_id -2 string pset.units population boolean pset.default true uint pset.max 10 uint pset.min 2 string pset.comment boolean pset.escapable false uint pset.load 0 uint pset.size 0 |
プールをスケジューリングクラスに対応付けることで、プールに結合されているすべてのプロセスがこのスケジューラを使用できるようになります。このためには、pool.scheduler プロパティにスケジューリングクラスの名前を設定します。次の例は、batch というプールを FSS に対応付ける方法を示します。
スーパーユーザーになります。
batch プールを変更して、FSS に対応付けます。
# poolcfg -c 'modify pool batch (string pool.scheduler="FSS")' |
対応付けた後の構成を表示します。
# poolcfg -c info system tester int system.version 1 boolean system.bind-default true string system.comment pool batch boolean pool.default false boolean pool.active true int pool.importance 1 string pool.comment string pool.scheduler FSS pset batch pset batch int pset.sys_id -2 string pset.units population boolean pset.default true uint pset.max 10 uint pset.min 2 string pset.comment boolean pset.escapable false uint pset.load 0 uint pset.size 0 |
poolcfg -f を使用すると、poolcfg コマンドの -c オプションに指定する引数をテキストファイルから入力できます。この手法は、一連の操作を 1 つずつ実行する場合に使用します。複数のコマンドを処理した場合でも、それらのコマンドがすべて正常に終了するまで、構成は更新されません。特に大規模な構成や複雑な構成の場合は、この手法を使用した方が、個々のサブコマンドを起動するよりも便利です。