Oracle Solaris のシステム管理 (Oracle Solaris コンテナ : 資源管理と Oracle Solaris ゾーン)

非大域ゾーンで使用される資源制御

ゾーン内での資源管理機能の使用に関する追加情報については、このマニュアルの第 1 部の、この機能について説明した章を参照してください。

資源管理の章に記載された資源制御および属性はすべて、大域ゾーンおよび非大域ゾーンの /etc/project ファイル、NIS マップ、または LDAP ディレクトリサービスで設定できます。指定されたゾーンの設定は、そのゾーンにのみ影響を及ぼします。異なるゾーン内で自動実行中のプロジェクトは、ゾーンごとに別個の制御セットを保持できます。たとえば、大域ゾーン内のプロジェクト A を project.cpu-shares=10 に設定し、非大域ゾーン内の Project A を project.cpu-shares=5 に設定できます。それぞれが該当するゾーン内でのみ機能する、rcapd のインスタンスをシステム上で複数実行できます。

ゾーン内部のプロジェクト、タスク、およびプロセスを制御するため、ゾーン内で使用する資源の制御および属性は、プールおよびゾーン規模の資源制御に関する追加要件に従います。

非大域ゾーンには、「1 ゾーン、1 プール」という規則が適用されます。1 つのプール内の資源を複数の非大域ゾーンが共有してもかまいません。ただし、十分な特権を付与されたプロセスを使って、大域ゾーン内のプロセスを任意のプールにバインドすることが可能です。資源コントローラ poold は、大域ゾーン内だけで動作します。大域ゾーン内には、資源コントローラが動作するプールが複数存在します。poolstat ユーティリティーを非大域ゾーンで実行すると、そのゾーンに関連付けられているプールの情報だけが表示されます。非大域ゾーンで引数なしで pooladm コマンドを実行すると、そのゾーンに関連付けられているプールの情報だけが表示されます。

ゾーン規模の資源制御が project ファイルで設定されている場合、その資源制御は有効にはなりません。ゾーン規模の資源制御は、zonecfg ユーティリティーを使って設定されます。