一定量の物理 RAM をカーネルゾーンの仮想プラットフォームに割り当てる必要があります。この量を定義するには、カーネルゾーンの capped-memory リソースタイプの physical プロパティーを設定します。
カーネルゾーンに割り当てられる物理メモリーは、ゾーンのブート時にその全体に割り当てられます。割り当てられるメモリーは、カーネルゾーンの排他的使用のためです。カーネルゾーンのブートが完了すると、capped-memory リソースに指定されたメモリーがすべて、ホストのオペレーティングシステムやほかのゾーンから利用できなくなります。
カーネルゾーンの CPU とメモリーのデフォルト構成は 4 つの VCPU と 4G バイトのメモリーになっていますが、これは、カーネルゾーン内でアプリケーションを実行できるようにするためです。より大きなワークロードを管理するには、カーネルゾーンのメモリーサイズ (capped-memory:physical) を増やしてください。
SPARC ベースシステムでは 256M バイトの増分でリソースを設定します。
x86 ベースシステムでは 2M バイトの増分でリソースを設定します。
capped-memory:pagesize-policy プロパティーは、カーネルゾーンの物理メモリーのページサイズを割り当てるためのポリシーを指定します。デフォルトでは、カーネルゾーンは最適なパフォーマンスを実現するために使用可能な最大のページサイズを使用します。詳細は、メモリーのページサイズポリシーと物理メモリーについてを参照してください。
追加のカーネルゾーンテンプレート SYSsolaris-kz-minimal は、サポートされている最小のカーネルゾーン構成である 1 つの VCPU と 2G バイトのメモリーを提供します。
capped-memory ゾーンリソースタイプの設定の詳細については、Oracle Solaris Zones Configuration Resources の Capped Memory Guidelines for a solaris-kz Zoneを参照してください。
インストール前にカーネルゾーンのメモリーサイズを増やした場合、スワップデバイスとダンプデバイスも大きくなるため、カーネルゾーンのルートディスクサイズも増やす必要があります。カーネルゾーンにディスクを明示的に追加しない場合は、zvol が作成され、ルートディスクとして使用されます。デフォルトで、zvol のサイズは 16G バイトです。異なるルートディスクサイズを指定するには、zoneadm install –x install-size コマンドを使用します。たとえば、カーネルゾーン kzone1 に 32G バイトのルートディスクサイズを指定するには、インストール時に次のコマンドを使用します。
global$ pfbash zoneadm -z kzone1 install -x install-size=32G
zoneadm コマンドを使用してディスクサイズを変更する方法については、zoneadm(8) のマニュアルページを参照してください。
使用例 6 SPARC ベースシステムでの capped-memory リソースの設定この例では、SPARC ベースシステム上のカーネルゾーンで 2048M バイトのメモリーを指定する方法を示しています。
global$ pfbash zonecfg -z kzone1 zonecfg:kzone1> select capped-memory zonecfg:kzone1:capped-memory> set physical=2048m zonecfg:kzone1:capped-memory> end ; exit使用例 7 x86 ベースシステムでの capped-memory リソースの設定
この例では、x86 ベースシステム上のカーネルゾーンで 16G バイトのメモリーを指定する方法を示しています。
global$ pfbash zonecfg -z kzone1 zonecfg:kzone1> select capped-memory zonecfg:kzone1:capped-memory> set physical=16g zonecfg:kzone1:capped-memory> end ; exit
capped-memory リソースの pagesize-policy プロパティーは、システムでカーネルゾーンのページサイズを選択する方法を制御します。
デフォルトのカーネルゾーンテンプレート SYSsolaris-kz では、pagesize-policy プロパティーを、最適なパフォーマンスを得るための推奨値である largest-available に設定します。この設定により、システムはカーネルゾーンの物理メモリー量に合わせて使用する適切なページサイズを選択できます。物理メモリーサイズはページサイズの倍数である必要があるため、システムではカーネルゾーン用に指定された物理メモリー量に合致する最大ページサイズを選択します。pagesize-policy=largest-available を使用したブートは常に成功します。
最適なパフォーマンスを得るには、pagesize-policy=largest-available の設定時に最大ページサイズの選択が可能になるように、適切な量の物理メモリーを設定します。
カーネルゾーンの pagesize-policy プロパティーがクリアされているか、設定されていない場合、カーネルゾーンではそれが実行されている特定のハードウェアプラットフォームでブートするために必要な許容最小ページサイズを使用します。このページサイズは適切でない可能性があります。使用例 8, 最大ページサイズが使用されるように物理メモリーを設定するで示すように、サポートされる最大のページサイズの整数倍となる量に、physical プロパティーを設定する必要があります。
割り当てるメモリーの量は、必要なページサイズと完全に整合性が取れている必要があります。したがって、次のいずれかの条件に該当する場合は pagesize-policy をクリアする必要があります。
ターゲットシステムのページサイズがソースシステムより小さい場合。
ソースのカーネルゾーンが Oracle Solaris 11.4 の更新版で作成されたものであり、ターゲットが Oracle Solaris 11.3 の初回リリースなど、pagesize-policy プロパティーをサポートしない Oracle Solaris リリースである場合。
使用例 9, 以前の Oracle Solaris リリースにカーネルゾーンを移行する前に pagesize-policy プロパティーをクリアするを参照してください。
次の出力からわかるように、SPARC T5 ではさまざまなページサイズがサポートされています。最大のものは 2147483648 バイト、つまり 2G バイトです。
2G バイトのページサイズを増分として使用し、capped-memory:physical プロパティーが 8G バイトに設定されています。pagesize-policy が largest-available に設定されている場合、この値を指定すると、システムは最大のページサイズを使用できます。
global$ pfbash pagesize -a 8192 65536 4194304 268435456 2147483648 global$ pfbash zonecfg -z kzone1 zonecfg:kzone1> select capped-memory zonecfg:kzone1:capped-memory> set physical=8G zonecfg:kzone1:capped-memory> info capped-memory: physical: 8G pagesize-policy: largest-available zonecfg:kzone1:capped-memory> end ; exit global$ reboot使用例 9 以前の Oracle Solaris リリースにカーネルゾーンを移行する前に pagesize-policy プロパティーをクリアする
この例では、pagesize-policy プロパティーをクリアすることで、このプロパティーをサポートしていない Oracle Solaris リリースにカーネルゾーンを移行する準備を整える方法を示します。
global$ pfbash -z kzone1 zonecfg:kzone1> select capped-memory zonecfg:kzone1:capped-memory> clear pagesize-policy zonecfg:kzone1:capped-memory> end zonecfg:kzone1> commit global$ reboot
zoneadm migrate -n コマンドを使って移行の試験実行を行うと、pagesize-policy をクリアする必要があるかどうかがわかります。詳細は、zoneadm migrate コマンドについてを参照してください。
physical および pagesize-policy プロパティーの設定の詳細については、Oracle Solaris Zones Configuration Resources の Capped Memory Guidelines for a solaris-kz Zoneを参照してください。