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 の制限値を制限することを示しています。
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 - ... |
アプリケーションでこれらの調整値を大きくする必要がある場合、ゾーン管理者は solaris8 ブランドゾーンで /etc/system を変更し、ゾーンを再起動します。この手順は、ネイティブな Solaris 8 システムで調整値を大きくする手順と同じです。
大域ゾーンから zonecfg コマンドを使用して、ゾーン内の System V の制限値を制限することができます。
これらの手順を実行するには、大域ゾーン内で大域管理者になる必要があります。
global# zonecfg -z mys8zone set max-shm-memory=100m |
ゾーンの初期作成後に zonecfg を使用する場合は、ゾーンを再起動して変更内容を有効にします。
global# zoneadm -z mys8zone reboot |