Solaris のシステム管理: Solaris 8 Containers

/etc/system の調整と資源制御

Solaris 8 では、System V およびファイル記述子の制限値を調整するには、/etc/system を変更し、マシンを再起動して変更内容を有効にします。Solaris 10 では、これらの制限値は資源制御を介して動的に調整されます。

solaris8 ブランドゾーンに対しては、ゾーンの起動時に /etc/system の内容を使用してプロジェクトおよびプロセスの資源制御が設定されます。/etc/system が調整されていない場合は、ファイル記述子および System V に関する Solaris 8 のデフォルトの制限値が使用されます。

ゾーン内の実際の制限値は、ゾーンの /etc/system の設定とゾーンの zonecfg の設定のうち、どちらか低い方になります。実際の制限値を表示するには、sysdef(1M) で説明されている sysdef コマンドをゾーン内で実行します。

solaris8 ブランドゾーンで /etc/system を変更し、ゾーンを再起動して変更内容を有効にするには、ゾーン管理者になる必要があります。/etc/system はゾーン内で変更可能なので、大域管理者は大域ゾーンから zonecfg コマンドを使用して、ゾーンの制限値を設定することができます。

デフォルトの資源制御設定を表示するには、大域ゾーンから prctl コマンドを使用します。次の例は、init プロセスのデフォルト設定が System V の制限値を制限することを示しています。


例 7–1 solaris8 ゾーンの init プロセスのデフォルト設定を表示する


global# prctl `pgrep -x init -z s8zone`
...
process.max-msg-messages
        privileged         40       -   deny                          -
        system          4.29G     max   deny                          -
process.max-msg-qbytes
        privileged      4.00KB      -   deny                          -
        system          16.0EB    max   deny                          -
process.max-sem-ops
        privileged         10       -   deny                          -
        system          2.15G     max   deny                          -
process.max-sem-nsems
        privileged         25       -   deny                          -
        system          32.8K     max   deny                          -
process.max-file-descriptor
        basic             256       -   deny                      10485
        privileged      1.02K       -   deny                          -
        system          2.15G     max   deny                          -
...
project.max-shm-memory
        privileged       100MB      -   deny                          -
        system          16.0EB    max   deny                          -
project.max-shm-ids
        privileged        100       -   deny                          -
        system          16.8M     max   deny                          -
project.max-msg-ids
        privileged         50       -   deny                          -
        system          16.8M     max   deny                          -
project.max-sem-ids
        privileged         10       -   deny                          -
        system          16.8M     max   deny                          -
...

/etc/system の変更

アプリケーションでこれらの調整値を大きくする必要がある場合、ゾーン管理者は solaris8 ブランドゾーンで /etc/system を変更し、ゾーンを再起動します。この手順は、ネイティブな Solaris 8 システムで調整値を大きくする手順と同じです。

zonecfg を使用して資源制御を設定する

大域ゾーンから zonecfg コマンドを使用して、ゾーン内の System V の制限値を制限することができます。


例 7–2 大域ゾーンから資源制御を設定する

これらの手順を実行するには、大域ゾーン内で大域管理者になる必要があります。


global# zonecfg -z mys8zone set max-shm-memory=100m

ゾーンの初期作成後に zonecfg を使用する場合は、ゾーンを再起動して変更内容を有効にします。


global# zoneadm -z mys8zone reboot