この章では、システムの資源プールを設定し管理する方法について説明します。
資源プールの概要については、第 12 章資源プール (概要)を参照してください。
タスク |
説明 |
説明 |
---|---|---|
資源プールを有効または無効にします。 |
システムの資源プールをアクティブまたは無効にします。 | |
動的資源プールを有効または無効にします。 |
システムの動的資源プール機能をアクティブまたは無効にします。 | |
静的な資源プール構成を作成します。 |
現在の動的構成と一致する静的構成ファイルを作成します。詳細は、「資源プールのフレームワーク」を参照してください。 | |
資源プール構成を変更します。 |
追加のプールを作成するなどして、システムのプール構成を変更します。 | |
資源プールをスケジューリングクラスに対応付けます。 |
プールをスケジューリングクラスに対応付けることで、プールに結合されているすべてのプロセスが、指定されたスケジューラを使用できるようにします。 | |
構成の制約を設定し、構成の目標を定義します。 |
poold に対して、修正操作を実行するときに考慮する目標を指定します。構成の目標の詳細については、「poold の概要」を参照してください。 | |
ログのレベルを設定します。 |
poold で生成するログ情報のレベルを指定します。 | |
poolcfg コマンドでテキストファイルを使用します。 |
poolcfg コマンドにテキストファイルから入力します。 | |
カーネルで資源を転送します。 |
カーネルで資源を転送します。たとえば、特定の ID を持つ資源をターゲットセットに転送します。 | |
プール構成を起動します。 |
デフォルト構成ファイル内の構成を起動します。 | |
プール構成を確定する前に、プール構成を検証します。 |
検証が実行されるとどうなるかをテストするために、プール構成を検証します。 | |
システムからプール構成を削除します。 |
プロセッサセットなど、対応付けられているすべての資源がデフォルトの状態に戻ります。 | |
プロセスをプールに結合します。 |
システムで実行中のプロセスを資源プールに手動で対応付けます。 | |
タスクやプロジェクトをプールに結合します。 |
タスクやプロジェクトを資源プールに対応付けます。 | |
新しいプロセスを資源プールに結合します。 |
プロジェクト内の新しいプロセスを特定のプールに自動的に結合するには、project データベース内の各エントリに属性を追加します。 | |
project 属性を使ってプロセスを別のプールに結合します。 |
新たに開始されるプロセスについて、プールとの結合を変更します。 | |
poolstat ユーティリティーを使って報告を生成します。 |
指定した間隔で複数の報告を生成します。 | |
資源セットの統計情報を報告します。 |
poolstat ユーティリティーを使って pset 資源セットの統計情報を報告します。 |
Solaris 10 11/06 リリースから、svcadm コマンド (svcadm(1M) のマニュアルページを参照) を使って、システム上の資源プールサービスおよび動的資源プールサービスを有効または無効に設定できるようになりました。
pooladmコマンド (pooladm(1M) のマニュアルページを参照) を使用すると、次のタスクも実行できます。
プール機能を有効にして、プールを操作できるようにします
プール機能を無効にして、プールを操作できないようにします
システムをアップグレードする際に、資源プールフレームワークが有効で、/etc/pooladm.conf ファイルが存在する場合、プールサービスが有効になり、このファイル内の構成がシステムに適用されます。
スーパーユーザーになるか、Process Management プロファイルが含まれている役割を引き受けます。
System Administrator 役割には、Process Management プロファイルが含まれています。役割の詳細については、『Solaris のシステム管理 (基本編)』の「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。
資源プールサービスを有効にします。
# svcadm enable system/pools:default |
スーパーユーザーになるか、Process Management プロファイルが含まれている役割を引き受けます。
System Administrator 役割には、Process Management プロファイルが含まれています。役割の詳細については、『Solaris のシステム管理 (基本編)』の「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。
資源プールサービスを無効にします。
# svcadm disable system/pools:default |
スーパーユーザーになるか、Service Management 権利プロファイルが含まれている役割を引き受けます。
役割には、認証と特権コマンドが含まれます。役割の作成方法およびユーザーに役割を割り当てる方法については、『Solaris のシステム管理 (セキュリティサービス)』の「RBAC の構成 (作業マップ)」と『Solaris のシステム管理 (セキュリティサービス)』の「RBAC の管理 (作業マップ)」を参照してください。
動的資源プールサービスを有効にします。
# svcadm enable system/pools/dynamic:default |
この例では、DRP を実行する場合に、最初に資源プールを有効にする必要があることを示します。
資源プールと動的資源プールの間には、依存関係があります。DRP は、資源プールに依存するサービスになっています。DRP の有効化/無効化は、資源プールとは関係なく実行できます。
次の例では、資源プールと動的資源プールの両方が現在無効に設定されています。
# svcs *pool* STATE STIME FMRI disabled 10:32:26 svc:/system/pools/dynamic:default disabled 10:32:26 svc:/system/pools:default |
動的資源プールを有効にします。
# svcadm enable svc:/system/pools/dynamic:default # svcs -a | grep pool disabled 10:39:00 svc:/system/pools:default offline 10:39:12 svc:/system/pools/dynamic:default |
DRP サービスはまだオフラインです。
svcs コマンドの -x オプションを使って、DRP サービスがオフラインになっている原因を特定します。
# svcs -x *pool* svc:/system/pools:default (resource pools framework) State: disabled since Wed 25 Jan 2006 10:39:00 AM GMT Reason: Disabled by an administrator. See: http://sun.com/msg/SMF-8000-05 See: libpool(3LIB) See: pooladm(1M) See: poolbind(1M) See: poolcfg(1M) See: poolstat(1M) See: /var/svc/log/system-pools:default.log Impact: 1 dependent service is not running. (Use -v for list.) svc:/system/pools/dynamic:default (dynamic resource pools) State: offline since Wed 25 Jan 2006 10:39:12 AM GMT Reason: Service svc:/system/pools:default is disabled. See: http://sun.com/msg/SMF-8000-GE See: poold(1M) See: /var/svc/log/system-pools-dynamic:default.log Impact: This service is not running. |
資源プールサービスを有効にして、DRP サービスを実行可能にします。
# svcadm enable svc:/system/pools:default |
svcs *pool* コマンドを使用すると、システムによって次の情報が表示されます。
# svcs *pool* STATE STIME FMRI online 10:40:27 svc:/system/pools:default online 10:40:27 svc:/system/pools/dynamic:default |
両方のサービスがオンラインで、資源プールサービスを無効にする場合は、次のコマンドを実行します。
# svcadm disable svc:/system/pools:default |
svcs *pool* コマンドを使用すると、システムによって次の情報が表示されます。
# svcs *pool* STATE STIME FMRI disabled 10:41:05 svc:/system/pools:default online 10:40:27 svc:/system/pools/dynamic:default # svcs *pool* STATE STIME FMRI disabled 10:41:05 svc:/system/pools:default online 10:40:27 svc:/system/pools/dynamic:default |
ただし、資源プールサービスが無効になるため、結果として DRP サービスが offline になります。
# svcs *pool* STATE STIME FMRI disabled 10:41:05 svc:/system/pools:default offline 10:41:12 svc:/system/pools/dynamic:default |
DRP サービスがオフラインになっている原因を特定します。
# svcs -x *pool* svc:/system/pools:default (resource pools framework) State: disabled since Wed 25 Jan 2006 10:41:05 AM GMT Reason: Disabled by an administrator. See: http://sun.com/msg/SMF-8000-05 See: libpool(3LIB) See: pooladm(1M) See: poolbind(1M) See: poolcfg(1M) See: poolstat(1M) See: /var/svc/log/system-pools:default.log Impact: 1 dependent service is not running. (Use -v for list.) svc:/system/pools/dynamic:default (dynamic resource pools) State: offline since Wed 25 Jan 2006 10:41:12 AM GMT Reason: Service svc:/system/pools:default is disabled. See: http://sun.com/msg/SMF-8000-GE See: poold(1M) See: /var/svc/log/system-pools-dynamic:default.log Impact: This service is not running. |
DRP が機能するためには、資源プールを起動する必要があります。たとえば、pooladm コマンドと -e オプションを使って資源プールを起動できます。
# pooladm -e |
その後、svcs *pool* コマンドを実行すると、次のように表示されます。
# svcs *pool* STATE STIME FMRI online 10:42:23 svc:/system/pools:default online 10:42:24 svc:/system/pools/dynamic:default |
スーパーユーザーになるか、Process Management プロファイルが含まれている役割を引き受けます。
System Administrator 役割には、Process Management プロファイルが含まれています。役割の詳細については、『Solaris のシステム管理 (基本編)』の「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。
動的資源プールサービスを無効にします。
# svcadm disable system/pools/dynamic:default |
スーパーユーザーになるか、Process Management プロファイルが含まれている役割を引き受けます。
System Administrator 役割には、Process Management プロファイルが含まれています。役割の詳細については、『Solaris のシステム管理 (基本編)』の「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。
プール機能を有効にします。
# pooladm -e |
スーパーユーザーになるか、Process Management プロファイルが含まれている役割を引き受けます。
System Administrator 役割には、Process Management プロファイルが含まれています。役割の詳細については、『Solaris のシステム管理 (基本編)』の「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。
プール機能を無効にします。
# pooladm -d |
-s オプションを付けて /usr/sbin/pooladm を実行して、現在の動的構成と一致する静的構成ファイルを作成します。別のファイル名を指定した場合を除き、デフォルトの場所 /etc/pooladm.conf が使用されます。
pooladm コマンドに -c オプションを付けて実行して、構成を確定します。次に、pooladm コマンドに -s オプションを付けて実行して、動的構成の状態と一致するように静的構成ファイルを更新します。
動的構成と一致する新しい構成を作成するには、以前の機能 poolcfg -c discover を使用するよりも、新機能 pooladm -s を使用することをお勧めします。
使用しているシステムでプールを有効にします。
スーパーユーザーになるか、Process Management プロファイルが含まれている役割を引き受けます。
System Administrator 役割には、Process Management プロファイルが含まれています。役割の詳細については、『Solaris のシステム管理 (基本編)』の「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。
現在の動的構成と一致するように静的構成ファイルを更新します。
# pooladm -s |
構成ファイルの内容を読みやすい形式で表示します。
構成には、システムによって作成されたデフォルトの要素が含まれています。
# poolcfg -c info system tester string system.comment int system.version 1 boolean system.bind-default true int system.poold.pid 177916 pool pool_default int pool.sys_id 0 boolean pool.active true boolean pool.default true int pool.importance 1 string pool.comment pset pset_default pset pset_default int pset.sys_id -1 boolean pset.default true uint pset.min 1 uint pset.max 65536 string pset.units population uint pset.load 10 uint pset.size 4 string pset.comment boolean testnullchanged true cpu int cpu.sys_id 3 string cpu.comment string cpu.status on-line cpu int cpu.sys_id 2 string cpu.comment string cpu.status on-line cpu int cpu.sys_id 1 string cpu.comment string cpu.status on-line cpu int cpu.sys_id 0 string cpu.comment string cpu.status on-line |
/etc/pooladm.conf にある構成を確定します。
# pooladm -c |
(省略可能) /tmp/backup という静的構成ファイルに動的構成をコピーするには、次のように入力します。
# pooladm -s /tmp/backup |
構成を拡張するために、pset_batch というプロセッサセットと pool_batch というプールを作成します。次に、このプールとプロセッサセットを結合によって対応付けます。
サブコマンドの引数に空白が含まれている場合は、引用符で囲むことを忘れないでください。
スーパーユーザーになるか、Process Management プロファイルが含まれている役割を引き受けます。
System Administrator 役割には、Process Management プロファイルが含まれています。役割の詳細については、『Solaris のシステム管理 (基本編)』の「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。
pset_batch というプロセッサセットを作成します。
# poolcfg -c 'create pset pset_batch (uint pset.min = 2; uint pset.max = 10)' |
pool_batch というプールを作成します。
# poolcfg -c 'create pool pool_batch' |
このプールとプロセッサセットを結合によって対応付けます。
# poolcfg -c 'associate pool pool_batch (pset pset_batch)' |
対応付けた後の構成を表示します。
# poolcfg -c info system tester string system.comment kernel state int system.version 1 boolean system.bind-default true int system.poold.pid 177916 pool pool_default int pool.sys_id 0 boolean pool.active true boolean pool.default true int pool.importance 1 string pool.comment pset pset_default pset pset_default int pset.sys_id -1 boolean pset.default true uint pset.min 1 uint pset.max 65536 string pset.units population uint pset.load 10 uint pset.size 4 string pset.comment boolean testnullchanged true cpu int cpu.sys_id 3 string cpu.comment string cpu.status on-line cpu int cpu.sys_id 2 string cpu.comment string cpu.status on-line cpu int cpu.sys_id 1 string cpu.comment string cpu.status on-line cpu int cpu.sys_id 0 string cpu.comment string cpu.status on-line pool pool_batch boolean pool.default false boolean pool.active true int pool.importance 1 string pool.comment pset pset_batch pset 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 cpu int cpu.sys_id 5 string cpu.comment string cpu.status on-line cpu int cpu.sys_id 4 string cpu.comment string cpu.status on-line |
/etc/pooladm.conf にある構成を確定します。
# pooladm -c |
(省略可能) /tmp/backup という静的構成ファイルに動的構成をコピーするには、次のように入力します。
# pooladm -s /tmp/backup |
プールをスケジューリングクラスに対応付けることで、プールに結合されているすべてのプロセスがこのスケジューラを使用できるようになります。このためには、pool.scheduler プロパティーにスケジューラの名前を設定します。次の例では、プール pool_batch を公平配分スケジューラ (FSS) に対応付けます。
スーパーユーザーになるか、Process Management プロファイルが含まれている役割を引き受けます。
System Administrator 役割には、Process Management プロファイルが含まれています。役割を作成してユーザーに割り当てる方法については、『Solaris のシステム管理 (セキュリティーサービス)』の「RBAC の管理 (作業マップ)」を参照してください。
pool_batch プールを変更して、FSS に対応付けます。
# poolcfg -c 'modify pool pool_batch (string pool.scheduler="FSS")' |
対応付けた後の構成を表示します。
# poolcfg -c info system tester string system.comment int system.version 1 boolean system.bind-default true int system.poold.pid 177916 pool pool_default int pool.sys_id 0 boolean pool.active true boolean pool.default true int pool.importance 1 string pool.comment pset pset_default pset pset_default int pset.sys_id -1 boolean pset.default true uint pset.min 1 uint pset.max 65536 string pset.units population uint pset.load 10 uint pset.size 4 string pset.comment boolean testnullchanged true cpu int cpu.sys_id 3 string cpu.comment string cpu.status on-line cpu int cpu.sys_id 2 string cpu.comment string cpu.status on-line cpu int cpu.sys_id 1 string cpu.comment string cpu.status on-line cpu int cpu.sys_id 0 string cpu.comment string cpu.status on-line pool pool_batch boolean pool.default false boolean pool.active true int pool.importance 1 string pool.comment string pool.scheduler FSS pset batch pset 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 cpu int cpu.sys_id 5 string cpu.comment string cpu.status on-line cpu int cpu.sys_id 4 string cpu.comment string cpu.status on-line |
/etc/pooladm.conf にある構成を確定します。
# pooladm -c |
(省略可能) /tmp/backup という静的構成ファイルに動的構成をコピーするには、次のように入力します。
# pooladm -s /tmp/backup |
制約は、構成に加えることのできる変更を一部除外することで、作成可能な構成の範囲に影響を与えます。ここでは、cpu.pinned プロパティーを設定する手続きを示します。
次の例では、cpuid は整数です。
スーパーユーザーになるか、Process Management プロファイルが含まれている役割を引き受けます。
System Administrator 役割には、Process Management プロファイルが含まれています。役割の詳細については、『Solaris のシステム管理 (基本編)』の「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。
静的構成または動的構成内の cpu.pinned プロパティーを変更します。
poold に対して、修正操作を実行するときに考慮する目標を指定できます。
次の手順では、wt-load 目標を設定して、poold が資源の使用率に合わせて資源を割り当てるようにします。この構成目標を達成しやすくするために、locality 目標は無効にします。
スーパーユーザーになるか、Process Management プロファイルが含まれている役割を引き受けます。
System Administrator 役割には、Process Management プロファイルが含まれています。役割の詳細については、『Solaris のシステム管理 (基本編)』の「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。
システム tester を変更して、wt-load 目標を優先するようにします。
# poolcfg -c 'modify system tester (string system.poold.objectives="wt-load")' |
デフォルトのプロセッサセットの locality 目標を無効にします。
# poolcfg -c 'modify pset pset_default (string pset.poold.objectives="locality none")' |
pset_batch プロセッサセットの locality 目標を無効にします。
# poolcfg -c 'modify pset pset_batch (string pset.poold.objectives="locality none")' |
対応付けた後の構成を表示します。
# poolcfg -c info system tester string system.comment int system.version 1 boolean system.bind-default true int system.poold.pid 177916 string system.poold.objectives wt-load pool pool_default int pool.sys_id 0 boolean pool.active true boolean pool.default true int pool.importance 1 string pool.comment pset pset_default pset pset_default int pset.sys_id -1 boolean pset.default true uint pset.min 1 uint pset.max 65536 string pset.units population uint pset.load 10 uint pset.size 4 string pset.comment boolean testnullchanged true string pset.poold.objectives locality none cpu int cpu.sys_id 3 string cpu.comment string cpu.status on-line cpu int cpu.sys_id 2 string cpu.comment string cpu.status on-line cpu int cpu.sys_id 1 string cpu.comment string cpu.status on-line cpu int cpu.sys_id 0 string cpu.comment string cpu.status on-line pool pool_batch boolean pool.default false boolean pool.active true int pool.importance 1 string pool.comment string pool.scheduler FSS pset batch pset 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 string pset.poold.objectives locality none cpu int cpu.sys_id 5 string cpu.comment string cpu.status on-line cpu int cpu.sys_id 4 string cpu.comment string cpu.status on-line |
/etc/pooladm.conf にある構成を確定します。
# pooladm -c |
(省略可能) /tmp/backup という静的構成ファイルに動的構成をコピーするには、次のように入力します。
# pooladm -s /tmp/backup |
poold が生成するログ情報のレベルを指定するには、poold 構成の system.poold.log-level プロパティーを設定します。poold の構成は libpool の構成に保存されています。詳細は、「poold のログ情報」および poolcfg(1m) と libpool(3LIB) のマニュアルページを参照してください。
コマンド行で poold コマンドを使用する方法でも、poold で生成するログ情報のレベルを指定できます。
スーパーユーザーになるか、Process Management プロファイルが含まれている役割を引き受けます。
System Administrator 役割には、Process Management プロファイルが含まれています。役割の詳細については、『Solaris のシステム管理 (基本編)』の「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。
poold コマンドに -l オプションとパラメータ (INFO など) を付けて実行することで、ログのレベルを設定します。
# /usr/lib/pool/poold -l INFO |
使用可能なパラメータについては、「poold のログ情報」を参照してください。デフォルトのログレベルは NOTICE です。
poolcfg コマンドに -f オプションを付けて使用すると、poolcfg コマンドの -c オプションに指定する引数をテキストファイルから入力できます。この方法は、一連の操作を実行する場合に使用します。複数のコマンドを処理した場合でも、それらのコマンドがすべて正常に終了するまで、構成は更新されません。特に大規模な構成や複雑な構成の場合は、この手法を使用した方が、個々のサブコマンドを起動するよりも便利です。
コマンドファイルでは、# という文字はコメント記号として機能し、その行の残り部分がコメントと見なされます。
入力ファイル poolcmds.txt を作成します。
$ cat > poolcmds.txt create system tester create pset pset_batch (uint pset.min = 2; uint pset.max = 10) create pool pool_batch associate pool pool_batch (pset pset_batch) |
スーパーユーザーになるか、Process Management プロファイルが含まれている役割を引き受けます。
System Administrator 役割には、Process Management プロファイルが含まれています。役割を作成してユーザーに割り当てる方法については、『Solaris のシステム管理 (セキュリティーサービス)』の「RBAC の管理 (作業マップ)」を参照してください。
コマンドを実行します。
# /usr/sbin/poolcfg -f poolcmds.txt |
-d オプションを付けた poolcfg に -c オプションの transfer サブコマンド引数を付けて実行すると、カーネルで資源を転送できます。-d オプションは、コマンドにファイルから入力するのではなく、直接カーネル上で実行することを示します。
次の手順では、2 つの CPU をプロセッサセット pset1 からプロセッサセット pset2 にカーネルで移動します。
スーパーユーザーになるか、Process Management プロファイルが含まれている役割を引き受けます。
System Administrator 役割には、Process Management プロファイルが含まれています。役割の詳細については、『Solaris のシステム管理 (基本編)』の「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。
2 つの CPU を pset1 から pset2 に移動します。
from 文節と to 文節は、どの順序で使用してもかまいません。to 文節と from 文節は、1 つのコマンドにそれぞれ 1 つだけ使用できます。
# poolcfg -dc 'transfer 2 from pset pset1 to pset2' |
ある資源タイプの特定の資源の ID を指定して転送する場合は、別の構文が用意されています。たとえば、次のコマンドは、ID が 0 と 2 の 2 つの CPU を pset_large プロセッサセットに割り当てます。
# poolcfg -dc "transfer to pset pset_large (cpu 0; cpu 2)" |
要求を満たすための十分な資源がない場合や、指定された ID が見つからない場合は、転送は失敗し、エラーメッセージが表示されます。
pooladm コマンドを使用すると、特定のプール構成をアクティブにしたり、現在アクティブになっているプール構成を削除したりできます。このコマンドの詳細については、pooladm(1M) のマニュアルページを参照してください。
デフォルト構成ファイル /etc/pooladm.conf に保存されている構成を起動するには、pooladm に -c オプション (構成の確定) を付けて実行します。
スーパーユーザーになるか、Process Management プロファイルが含まれている役割を引き受けます。
System Administrator 役割には、Process Management プロファイルが含まれています。役割の詳細については、『Solaris のシステム管理 (基本編)』の「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。
/etc/pooladm.conf にある構成を確定します。
# pooladm -c |
(省略可能) たとえば /tmp/backup という静的構成ファイルに動的構成をコピーするには、次のように入力します。
# pooladm -s /tmp/backup |
-n オプションと -c オプションをともに使用すると、検証が実行されるとどうなるかをテストできます。構成が実際に確定されることはありません。
次のコマンドは、/home/admin/newconfig に保存されている構成を検証します。検出されたエラー条件が表示されますが、構成自体は変更されません。
スーパーユーザーになるか、Process Management プロファイルが含まれている役割を引き受けます。
System Administrator 役割には、Process Management プロファイルが含まれています。役割の詳細については、『Solaris のシステム管理 (基本編)』の「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。
構成を確定する前に構成を検証します。
# pooladm -n -c /home/admin/newconfig |
現在アクティブになっている構成を削除して、プロセッサセットなどの関連付けられているすべての資源をデフォルトの状態に戻すには、-x オプション (構成の削除) を使用します。
スーパーユーザーになるか、Process Management プロファイルが含まれている役割を引き受けます。
System Administrator 役割には、Process Management プロファイルが含まれています。役割の詳細については、『Solaris のシステム管理 (基本編)』の「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。
現在アクティブになっている構成を削除します。
# pooladm -x |
-x オプションを付けて pooladm を実行すると、ユーザーが定義したすべての要素が動的構成から削除されます。すべての資源がデフォルトの状態に戻り、プールとの結合もすべてデフォルトプールとの結合で置換されます。
TS クラスのプロセスと IA クラスのプロセスを同一プロセッサセット内で混在させても問題はありません。1 つのプロセッサセット内でその他のスケジューリングクラスを混在させると、予期できない結果が生じる可能性があります。pooladm -x を使用した結果、1 つのプロセッサセット内にスケジューリングクラスが混在している場合は、priocntl コマンドを使用して、実行中のプロセスを別のスケジューリングクラスに移動してください。「プロセスを TS クラスから FSS クラスに手動で移動する方法」を参照してください。priocntl(1) のマニュアルページも参照してください。
資源プールをプロジェクトに関連付けるために、project.pool 属性を設定できます。
実行中のプロセスをプールに結合するには、次の 2 つの方法を使用できます。
poolbind コマンド (poolbind(1M) のマニュアルページを参照) を使用して、特定のプロセスを指定された資源プールに結合します。
project データベース内の project.pool 属性を使用して、新しいログインセッションや newtask コマンドで起動されるタスクを結合するプールを指定します。newtask(1)、projmod(1M)、および project(4) のマニュアルページを参照してください。
次の手順では、poolbind コマンドに -p オプションを付けて実行して、プロセス (この例では、現在のシェル) を ohare というプールに手動で結合します。
スーパーユーザーになるか、Process Management プロファイルが含まれている役割を引き受けます。
System Administrator 役割には、Process Management プロファイルが含まれています。役割の詳細については、『Solaris のシステム管理 (基本編)』の「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。
プロセスをプールに手動で結合します。
# poolbind -p ohare $$ |
poolbind に -q オプションを付けて実行することで、プロセスとプールの結合を確認します。
$ poolbind -q $$ 155509 ohare |
プロセス ID とプールへの結合が表示されます。
タスクまたはプロジェクトをプールに結合するには、poolbind コマンドに -i オプションを指定します。次の例では、airmiles プロジェクト内のすべてのプロセスを laguardia プールに結合します。
スーパーユーザーになるか、Process Management プロファイルが含まれている役割を引き受けます。
System Administrator 役割には、Process Management プロファイルが含まれています。役割の詳細については、『Solaris のシステム管理 (基本編)』の「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。
airmiles プロジェクト内のすべてのプロセスを laguardia プールに結合します。
# poolbind -i project -p laguardia airmiles |
プロジェクトのプロセスを資源プールに結合するために、project.pool 属性を設定できます。
スーパーユーザーになるか、Process Management プロファイルが含まれている役割を引き受けます。
System Administrator 役割には、Process Management プロファイルが含まれています。役割の詳細については、『Solaris のシステム管理 (基本編)』の「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。
project データベース内の各エントリに project.pool 属性を追加します。
# projmod -a -K project.pool=poolname project |
studio と backstage という 2 つのプールを持つ構成が存在するものとします。/etc/project ファイルの内容は、次のとおりです。
user.paul:1024::::project.pool=studio user.george:1024::::project.pool=studio user.ringo:1024::::project.pool=backstage passes:1027::paul::project.pool=backstage |
この構成の場合、ユーザー paul によって起動されるプロセスは、デフォルトで studio プールに結合されます。
ユーザー paul は、起動するプロセスのプール結合を変更できます。paul は、newtask を使用して (この場合は passes プロジェクト内で起動することで)、作業を backstage プールに結合することもできます。
passes プロジェクトでプロセスを起動します。
$ newtask -l -p passes |
poolbind コマンドに -q オプションを付けて実行し、プロセスとプールの結合を確認します。また、二重ドル記号 ($$) を使用して親シェルのプロセス番号をコマンドに渡します。
$ poolbind -q $$ 6384 pool backstage |
プロセス ID とプールへの結合が表示されます。
poolstat コマンドを使用すると、プールに関連付けられている資源について統計情報を表示できます。詳細は、「poolstat によるプール機能と資源使用率の監視」および poolstat(1M) のマニュアルページを参照してください。
この節では、さまざまな目的の報告を生成する方法を、例を使用しながら説明します。
引数なしで poolstat と入力すると、見出し行に続いて、1 行に 1 つずつプールが表示されます。情報の行には、プール ID、プール名、およびプールに接続されているプロセッサセットに関する資源統計が表示されます。
machine% poolstat pset id pool size used load 0 pool_default 4 3.6 6.2 1 pool_sales 4 3.3 8.4 |
次のコマンドは、3 つの報告を 5 秒間のサンプリング間隔で生成します。
machine% poolstat 5 3 pset id pool size used load 46 pool_sales 2 1.2 8.3 0 pool_default 2 0.4 5.2 pset id pool size used load 46 pool_sales 2 1.4 8.4 0 pool_default 2 1.9 2.0 pset id pool size used load 46 pool_sales 2 1.1 8.0 0 pool_default 2 0.3 5.0 |
次の例では、poolstat コマンドに -r オプションを付けて実行し、プロセッサセットの資源セットの統計情報を報告します。資源セット pset_default は複数のプールに接続されているので、このプロセッサセットは各プールで 1 回ずつ表示されます。
machine% poolstat -r pset id pool type rid rset min max size used load 0 pool_default pset -1 pset_default 1 65K 2 1.2 8.3 6 pool_sales pset 1 pset_sales 1 65K 2 1.2 8.3 2 pool_other pset -1 pset_default 1 10K 2 0.4 5.2 |