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

主要特性

Solaris Resource Manager 提供了对系统中各种重要资源的消耗情况进行管理的能力,诸如处理器时间、虚拟内存、进程计数、登录计数以及连接时间。 Solaris Resource Manager 管理模块允许在分层结构中进行管理权限委派,使数据中心不必过多地介入组内管理事务处理,从而更具灵活性。另外, Solaris Resource Manager 还提供有收集资源利用率数据的机制,可以用于容量规划或者收取费用目的。

操作系统的一个基本任务就是确定哪个进程可以访问系统资源。默认的 Solaris 分时调度器试图给每个进程几乎平等的系统资源访问时限。施加访问限制的对象包括没有实在内存资源的进程,该进程是不允许运行的,以及其 I/O 请求等待处理的进程,该进程遭到封锁。

这一方案构成了大多数现代操作系统的基础;只要"人人平等访问"对单位来讲是一个合适的策略的话,则该方案就行之有效。但是,如要实现不同的策略,就需要更为精密的机制。例如,某一制造部门可能拥有一个大型系统,但由于波动的季节性需求原因,该系统只得到些许使用。同时,工程部门几乎总是需要更多的计算周期。尽管大型机器资源利用不足属于浪费,但与工程部门一起分享制造系统在传统上总是有一些问题。利用简单的调度策略,就没有办法向操作系统表示制造部门的用户比同一系统上的工程部门的用户更为重要。如果制造部门目前有一项关键性的任务,消耗百分之75的系统资源,则在所有其它任务请求百分之25或者更少的系统资源的情况下,该任务就会合理地进行下去。但是,如果某个设计任务到来,需要百分之50的系统资源,则该关键性的制造任务就有可能无法获得维持充足前进动力所需的系统资源,原因在于系统会试图在平等的基础上为两个任务提供服务。

现在假设管理员确定制造部门的常规处理需求可以用机器能力的百分之80加以满足。系统管理员借助 Solaris Resource Manager ,就能够指定制造部门的用户在需要的情况下,可以拥有高达百分之85的系统处理能力,而调度器将其余的系统处理能力分配给任何其他的用户。一个更加极端但同样有效的配置就是,指定制造部门的用户在需要的情况下,可以拥有高达百分之100的系统资源,从而一旦制造部门真的需要整个系统,就可以有效地阻止任何其它组的进程的运行。

Solaris Resource Manager 提供有一个新的 CPU 调度类,用于替换标准的分时调度器。该模块称为 SHR 调度器类,所实施的是一种名为公平共享调度器的方案。该名词命名错误,因为是系统管理员本人指定什么才是"公平"的。在上面的例子中,"公平"的意思是制造部门可以得到百分之100的系统资源。SHR 调度器负责根据管理定义文件中所部署的方案分配资源。

Solaris Resource Manager 维护着一个资源消耗和相关限制的数据库。

SHR 调度器将用于资源保证的管理指定考虑在内。它能够对可更新资源(诸如 CPU 时间)或者固定资源(诸如登录的数目)进行管理。

其它 Solaris Resource Manager 模块对各种资源的消耗进行限制。例如,连接时间和用户登录的数目,这些是通过一个可插鉴别模块(PAM)加以管理的。 每当某个用户试图登录时,PAM模块就向 Solaris Resource Manager 数据库进行咨询。一旦系统完成对用户的鉴别(一般是通过口令匹配),就检查该用户的连接时间以及当前登录的数目是否超过限制。如果超过了两个限制中的任何一个,就拒绝登录。