構成ファイルには、システム上で作成されるプールに関する記述が含まれます。構成ファイルには、操作可能な構成要素と、そのリソースタイプが記述されています。
|
種類 |
説明 |
|---|---|
|
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 つずつ実行する場合に使用します。複数のコマンドを処理した場合でも、それらのコマンドがすべて正常に終了するまで、構成は更新されません。特に大規模な構成や複雑な構成の場合は、この手法を使用した方が、個々のサブコマンドを起動するよりも便利です。