系统管理指南:Oracle Solaris Containers-资源管理和 Oracle Solaris Zones

设置区域范围的资源控制

全局管理员可以为区域设置区域范围的特权资源控制。区域范围的资源控制可限制区域内所有进程实体总的资源使用情况。

使用 zonecfg 命令同时为全局区域和非全局区域指定这些限制。请参见如何配置区域

从 Solaris 10 8/07 发行版开始,设置区域范围资源控制的首选的、更简单的方法是使用属性名称,而不是使用 rctl 资源。

Solaris 10 5/08: zone.cpu-cap 资源控制用于对某个区域可占用的 CPU 资源量设置绝对限制。值 100 表示将一个 CPU 的 100% 用作 project.cpu-cap 设置。值 125 表示 125%,因为在使用 CPU 上限时,100% 对应于系统中的一个 CPU。


注 –

设置 capped-cpu 资源时,可以使用小数来表示单位。该值对应于 zone.capped-cpu 资源控制,但设置减小 100 倍。设置为 1 等效于资源控制设置 100


zone.cpu-shares 资源控制可以对区域的公平份额调度器 (fair share scheduler, FSS) CPU 份额数设置限制。CPU 份额首先分配给区域,然后在区域内的项目之间进一步分配,如 project.cpu-shares 项中所述。有关更多信息,请参见在安装了区域的 Solaris 系统上使用公平份额调度器。此控制的全局属性名称是 cpu-shares

zone.max-locked-memory 资源控制对可用于区域的锁定物理内存量加以限制。区域中各项目之间的锁定内存资源分配可通过 project.max-locked-memory 资源控制来控制。有关更多信息,请参见表 6–1

zone.max-lwps 资源控制通过禁止一个区域中有过多 LWP 影响其他区域,来增强资源隔离功能。对此区域中项目的 LWP 资源的分配可使用 project.max-lwps 资源控制进行控制。有关更多信息,请参见表 6–1。此控制的全局属性名称是 max-lwps

zone.max-msg-idszone.max-sem-idszone.max-shm-idszone.max-shm-memory 资源控制可用于限制区域中的所有进程使用的 System V 资源。对区域中项目的 System V 资源的分配可使用这些资源控制的项目版本来进行控制。这些控制的全局属性名称是 max-msg-idsmax-sem-idsmax-shm-idsmax-shm-memory

zone.max-swap 资源控制可限制区域中的用户进程地址空间映射和 tmpfs 挂载所占用的交换空间。prstat -Z 的输出将显示一个 SWAP 列。报告的交换是区域进程和 tmpfs 挂载所使用的总交换量。此值有助于监视每个区域预留的交换空间,可用于选择适当的 zone.max-swap 设置。

表 17–1 区域范围的资源控制

控制名称 

全局属性名称 

说明 

缺省单位 

所用值 

zone.cpu-cap

 

Solaris 10 5/08:此区域可用的 CPU 资源量的绝对限制。

数量(CPU 数目),以百分比表示 


注 –

设置 capped-cpu 资源时,可以使用小数来表示单位。


 

zone.cpu-shares

cpu-shares

此区域的公平份额调度器 (fair share scheduler, 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

此区域允许的系统 V 共享内存总量。 

大小(字节) 

 

zone.max-swap

 

可用于此区域的用户进程地址空间映射和 tmpfs 挂载的交换空间总量

大小(字节) 

capped-memoryswap 属性

可以使用 prctl 命令为正运行的进程指定这些限制。如何使用 prctl 命令在全局区域中设置 FSS 份额中还提供了一个示例。通过 prctl 命令指定的限制不是持久的。在重新引导系统后,此限制将失效。