适用于 Solaris 2.6 (SPARC 平台版) 的 Solaris Resource Manager 1.0 系统管理指南

资源控制

Solaris Resource Manager 提供有对下列系统资源的控制:CPU(处理器速率)利用率、虚拟内存、进程数目、登录数目以及终端连接时间。

Solaris Resource Manager 对每个用户的对每个资源的利用率进行跟踪。对于除 CPU 利用率之外的所有其它资源,均可以为用户指派硬性的资源利用率限制。如果用户允许利用率到达极限的话,硬性限制将会促使资源消耗企图失败。硬性限制是直接由核心或者负责管理相应资源的软件加以执行的。限制值为零时,指示着无限制。根 lnode 的所有限制属性的设置,均应保留为零。

Solaris Resource Manager 不断使过去的利用率发生衰变,从而只有最近的利用率才有意义。系统管理员设置半衰期参数,对衰变速率进行控制。长的半衰期支持平稳的利用率,是较长的成批作业的典型情况,而短的半衰期支持交互式用户。

一般来讲,所有的系统资源均可以划分为两类中的一个:固定(或者不可更新)资源和可更新资源。 Solaris Resource Manager 以不同方式管理这两类资源。

固定资源

固定或者不可更新资源是那些可用数量有限的资源,诸如虚拟内存、进程数目、登录数目以及连接时间。可以对固定资源进行消耗(分配)和撤回(取消分配),但在其拥有者取消其分配之前,其它实体均无法使用该资源。 Solaris Resource Manager 运用一种利用率和限制模型,对所使用的固定资源的数量加以控制。利用率被定义为当前正在使用的资源,而限制就是 Solaris Resource Manager 所允许的最大利用率程度。

可更新资源

可更新资源是那些可以持续供应的资源,诸如 CPU 时间。可更新资源只可以消耗,且一旦消耗,就无法收回。在任何一个时间点上,某一可更新资源只有有限的可用性,且如果当时没有得到利用,则在将来就不再可用。(可以用阳光作类比。某一特定瞬间,只有一定数量的阳光从太阳到达地面,但在未来几百万年的时间里将会有更多会到达地面。)出于这个原因,将可更新资源重新指派给其它的用户就可以确保避免浪费,而不必将其明确进行重新分配。 Solaris Resource Manager 采用一种利用率、限制和衰变模型,对某一用户对某一可更新资源的的消耗速率加以控制。利用率被定义为所使用的资源总额,对相对于其他同类用户的利用率速率加以设置。衰变是指不再对历史利用率进行计算的时间段。下一个资源量,例如时钟周期,将被分配给活动的 lnode,与其所分配的份额相比,其衰变利用率值总计最低。衰变利用率值所衡量的是一段时间以来的利用率总额减去半衰期衰变模型所确定的历史利用率的某些部分。

CPU 资源是借助 Solaris Resource Manager 的 SHR 调度器加以控制的。用户所分得的 CPU 时间,与其所拥有的份额数目成正比(类似于所持有的公司股份),而与其最近的利用率成反比。SHR 调度器的重要特性就是,在其对单个线程的调度进行管理的同时(从技术角度讲,在 Solaris 中,所调度的实体是一个轻量进程(LLW)),还在各用户之间分配 CPU 资源。

每个用户还拥有一套标志,这是一些类似于布尔的变量,用于启用或者禁用可选的系统特权,例如登录。可以针对每一用户单个对标志进行设置,也可以从父 lnode 继承标志。

某一用户的利用率、限制以及标志可以为任意用户所读取,但只可以由拥有管理权限的用户加以更改。