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

ゾーン規模の資源制御の設定

大域管理者は、ゾーン規模の特権付き資源制御をゾーンに対して設定できます。ゾーン規模の資源制御は、ゾーン内のすべてのプロセスエンティティーによる総資源消費を制限します。

これらの制限は、大域ゾーンと非大域ゾーンのどちらに対しても、zonecfg コマンドを使用して指定します。「ゾーンの構成方法」を参照してください。

Solaris 10 8/07 以降のリリースでは、ゾーン規模の資源制御を設定する場合に望ましい、より簡単な方法は、rctl 資源の代わりにプロパティー名を使用する方法です。

Solaris 10 5/08: zone.cpu-cap 資源制御は、1 つのゾーンで消費可能な CPU 資源量に対する絶対的な制限を設定します。project.cpu-cap 設定と同様、100 の値は 1 つの CPU の 100% を意味します。125 の値は 125% になります。CPU キャップの使用時は、100% がシステム上の 1 つの CPU の上限となります。


注 –

capped-cpu 資源を設定する場合は、単位に小数を使用できます。この値は zone.capped-cpu 資源制御と相互に関連していますが、設定値はその 100 分の 1 になります。設定値 1 は資源制御の設定値 100 に等しくなります。


zone.cpu-shares 資源制御は、公平配分スケジューラ (FSS) の CPU 配分の制限をゾーンに対して設定します。CPU 配分は、まずゾーンに対して割り当てられたあとで、project.cpu-shares エントリの指定に従って、ゾーン内のプロジェクトに分配されます。詳細は、「ゾーンがインストールされている Solaris システムでの公平配分スケジューラの使用」を参照してください。この制御のグローバルプロパティー名は cpu-shares です。

zone.max-locked-memory 資源制御は、ゾーンで使用できるロックされた物理メモリーの量を制限します。ゾーン内のプロジェクト間でのロックされたメモリー資源の割り当ては、project.max-locked-memory 資源制御を使用して制御できます。詳細は、表 6–1 を参照してください。

1 つのゾーンの LWP が多くなりすぎると、ほかのゾーンに影響を与えることがあります。zone.max-lwps 資源制御は、これを防ぐことで、資源の隔離を向上させます。ゾーン内のプロジェクト間での LWP 資源の割り当ては、project.max-lwps 資源制御を使用して制御できます。詳細は、表 6–1 を参照してください。この制御のグローバルプロパティー名は max-lwps です。

zone.max-msg-idszone.max-sem-idszone.max-shm-ids、および zone.max-shm-memory の各資源制御は、ゾーン内のすべてのプロセスで使用される System V 資源を制限します。ゾーン内のプロジェクト間での System V 資源の割り当ては、これらの資源制御の project バージョンを使用して制御できます。これらの制御のグローバルプロパティー名は、max-msg-idsmax-sem-idsmax-shm-ids、および max-shm-memory です。

zone.max-swap 資源制御は、ゾーン内のユーザープロセスのアドレス空間マッピングと tmpfs マウントで消費されるスワップを制限します。prstat -Z の出力は「スワップ」列を表示します。報告されるスワップは、ゾーンのプロセスと tmpfs マウントで消費されるスワップの合計量です。この値により、各ゾーンで予約されているスワップを監視しやすくなり、適切な zone.max-swap 設定を選択することができます。

表 17–1 ゾーン規模の資源制御

制御名 

グローバルプロパティー名 

説明 

デフォルトの単位 

使用される値 

zone.cpu-cap

 

Solaris 10 5/08: このゾーンに対する CPU 資源量の絶対的な制限。

数量 (CPU の数)、パーセントで表されます。 


注 –

capped-cpu 資源として設定する場合は、単位に小数を使用できます。


 

zone.cpu-shares

cpu-shares

このゾーンに対する公平配分スケジューラ (FSS) の CPU 配分。 

数量 (配分) 

 

zone.max-locked-memory

 

ゾーンで使用できるロックされた物理メモリーの合計量。 

priv_proc_lock_memory がゾーンに割り当てられている場合、そのゾーンがすべてのメモリーをロックするのを防ぐため、この資源制御の設定も検討してください。

サイズ (バイト) 

capped-memorylocked プロパティー。

zone.max-lwps

max-lwps

このゾーンで同時に使用できる LWP の最大数。 

数量 (LWP 数) 

 

zone.max-msg-ids

max-msg-ids

このゾーンに許容されるメッセージキュー ID の最大数。 

数量 (メッセージキュー ID の数) 

 

zone.max-sem-ids

max-sem-ids

このゾーンに許容されるセマフォー ID の最大数。 

数量 (セマフォー ID の数) 

 

zone.max-shm-ids

max-shm-ids

このゾーンに許容される共有メモリー ID の最大数。 

数量 (共有メモリー ID の数) 

 

zone.max-shm-memory

max-shm-memory

このゾーンに許容される System V 共有メモリーの合計量。 

サイズ (バイト) 

 

zone.max-swap

 

このゾーンのユーザープロセスのアドレス空間マッピングと tmpfs マウントで消費できるスワップの合計量。

サイズ (バイト) 

capped-memoryswap プロパティー

prctl コマンドを使用すると、実行中のプロセスに対してこれらの制限を指定できます。例については、prctl コマンドを使用して大域ゾーンの FSS 配分を設定する方法」を参照してください。prctl コマンドで指定された制限には持続性がありません。システムが再起動されると、制限は無効になります。