在 Solaris 9 中,可以通过修改 /etc/system 并重新引导计算机以使修改生效,来对 System V 和文件描述符限制加以调节。在 Solaris 10 中,这些限制可以通过资源控制进行动态调节。
对于 solaris9 标记区域,/etc/system 的内容用于在区域引导时设置项目和进程资源控制。如果未调节 /etc/system,则使用 Solaris 9 中的缺省文件描述符和 System V 限制。
区域内的有效限制将采用区域 /etc/system 设置或区域 zonecfg 设置中的较小者。要查看有效限制,请在区域中运行 sysdef(1M) 中所述的 sysdef 命令。
要在 solaris9 标记区域内修改 /etc/system,您必须是区域管理员,并且需要重新引导区域,以使更改生效。由于可在该区域内修改 /etc/system,因此全局管理员可在全局区域中使用 zonecfg 命令来为该区域设置限制。
在全局区域中使用 prctl 命令可查看缺省的资源控制设置。以下示例显示了 init 进程的用于约束 System V 限制的缺省设置。
global# prctl `pgrep -x init -z s9zone`
...
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 -
...
|
对于需要增加这些调节的应用程序,区域管理员可以在 solaris9 标记区域内修改 /etc/system,然后重新引导该区域。此过程与本机 Solaris 9 系统上用于增加调节的过程完全相同。
可以从全局区域中使用 zonecfg 命令来约束区域内的 System V 限制。
要执行以下过程,您必须是全局区域中的全局管理员。
global# zonecfg -z mys9zone set max-shm-memory=100m |
如果在创建初始区域后使用 zonecfg,请重新引导区域,以使更改生效。
global# zoneadm -z mys9zone reboot |