大域管理者または適切な承認を持つユーザーは、ゾーン規模の特権付きリソース制御をゾーンに対して設定できます。ゾーン規模のリソース制御は、ゾーン内のすべてのプロセスエンティティーによる総リソース消費を制限します。
これらの制限は、大域ゾーンと非大域ゾーンのどちらに対しても、zonecfg コマンドを使用して指定します。Oracle Solaris ゾーンの作成と使用 のゾーンの構成方法を参照してください。
ゾーン規模のリソース制御を設定するためのより簡単な推奨される方法は、cpu-cap などの rctl リソースではなく、capped-cpu などのプロパティー名またはリソースを使用することです。
zone.cpu-cap リソース制御は、1 つのゾーンで消費可能な CPU リソースの量に対する絶対的な制限を設定します。設定と同様、100 の値は 1 つの CPU の 100% を意味します。125 の値は 125% になります。CPU キャップの使用時は、100% がシステム上の 1 つの CPU の上限となります。
zone.cpu-shares リソース制御は、公平配分スケジューラ (FSS) の CPU 配分の制限をゾーンに対して設定します。CPU 配分は、まずゾーンに対して割り当てられたあとで、project.cpu-shares エントリの指定に従って、ゾーン内のプロジェクトに分配されます。詳細は、Oracle Solaris ゾーンの作成と使用 のゾーンがインストールされている Oracle Solaris システムでの公平配分スケジューラの使用を参照してください。この制御のグローバルプロパティー名は cpu-shares です。
zone.max-locked-memory リソース制御は、1 つのゾーンで使用できる、ロックされた物理メモリーの量に制限を設定します。ゾーン内のプロジェクト間でのロックされたメモリーリソースの割り当ては、project.max-locked-memory リソース制御を使用して制御できます。詳細は、Oracle Solaris 11.2 でのリソースの管理 の使用可能なリソース制御を参照してください。
zone.max-lofi リソース制御は、1 つのゾーンで作成可能な lofi デバイスの数を制限します。
1 つのゾーンの LWP が多くなりすぎると、ほかのゾーンに影響を与えることがあります。zone.max-lwps リソース制御は、これを防ぐことで、リソースの隔離を向上させます。ゾーン内のプロジェクト間での LWP リソースの割り当ては、project.max-lwps リソース制御を使用して制御できます。詳細は、Oracle Solaris 11.2 でのリソースの管理 の使用可能なリソース制御を参照してください。この制御のグローバルプロパティー名は max-lwps です。
zone.max-processes リソース制御は、1 つのゾーン内のあまりに多くの LWP が他のゾーンに影響を与えることを防ぐことによって、リソースの隔離性を高めます。ゾーン内の各プロジェクトに対するプロセステーブルスロットリソースの割り当ては、project.max-processes リソース制御 (Oracle Solaris 11.2 でのリソースの管理 の使用可能なリソース制御に記載) を使用して設定できます。この制御のグローバルプロパティー名は max-processes です。zone.max-processes リソース制御は、zone.max-lwps リソース制御を含むこともできます。zone.max-processes が設定されていて zone.max-lwps が設定されていない場合、zone.max-lwps はゾーンのブート時に暗黙的に zone.max-processes の値の 10 倍に設定されます。正常なプロセスとゾンビプロセスの両方がプロセステーブルスロットを占有するため、max-processes 制御がプロセステーブルを消費しつくすゾンビプロセスから保護します。ゾンビプロセスには本来 LWP がないため、max-lwps でこの可能性から保護することはできません。
zone.max-msg-ids、zone.max-sem-ids、zone.max-shm-ids、および zone.max-shm-memory の各リソース制御は、ゾーン内のすべてのプロセスで使用される System V リソースを制限するために使用されます。ゾーン内のプロジェクト間での System V リソースの割り当ては、これらのリソース制御の project バージョンを使用して制御できます。これらの制御のグローバルプロパティー名は、max-msg-ids、max-sem-ids、max-shm-ids、および max-shm-memory です。
zone.max-swap リソース制御は、ゾーン内のユーザープロセスのアドレス空間マッピングと tmpfs マウントで消費されるスワップを制限します。prstat –Z の出力は「スワップ」列を表示します。報告されるスワップは、ゾーンのプロセスと tmpfs マウントで消費されるスワップの合計量です。この値により、各ゾーンで予約されているスワップをモニタリングしやすくなり、適切な zone.max-swap 設定を選択できます。
|
prctl コマンドを使用すると、実行中のプロセスに対してこれらの制限を指定できます。この例はOracle Solaris ゾーンの作成と使用 のprctl コマンドを使用して大域ゾーンの FSS 配分を設定する方法に記載されています。prctl コマンドで指定された制限には持続性がありません。システムがリブートされると、制限は無効になります。