Solaris 操作环境包括若干能在特定类型资源上提供控制功能的其它功能。某些功能,如实时调度、nice(1)、配额和处理器集都是基本 Solaris 系统的一部分。
Solaris 带宽管理器是一种与别的软件一起打包的软件程序包,动态系统域是 Sun Enterprise 10000 系统平台的特性,而动态重新配置则是 Sun Enterprise 系统平台的特性。
所有这些组件都提供多种类型的资源管理,但每个组件都多少与 Solaris Resource Manager 功能有所不同。
实时调度
标准 Solaris 操作系统采用 TS 调度类进行多数常规工作,但是它也可向有足够特权的用户提供实时 (RT) 调度。RT 调度类实施一种非常不同的(且非常重要的)调度政策,可确保特定工作负载或进程能立刻接入处理器。
Solaris Resource Manager 可与 RT 调度类共存于同一系统,但它不能对在 RT 类上运行的任何进程进行控制。Solaris Resource Manager 公平份额调度程序只能对不在 RT 调度类上运行的 CPU 时间资源进行管理。例如,在一个四处理器的系统上,一个单线程进程可耗用整个一台处理器;实际上,这也就是当请求进程与 CPU 相关时发生的情况。如果这个系统也运行 Solaris Resource Manager,则常规用户进程就会争夺尚未被实时进程所使用的那三个 CPU。(请注意,实时进程可能并不是连续使用该 CPU。当它处于空闲状态时,Solaris Resource Manager 就会利用全部四个处理器。)
nice(1) 命令
nice 命令允许用户操纵程序执行优先权。如果没有调用超级用户特权,该命令就只允许用户降低其优先权。在有些情况下,这是一个有用的特性(例如,当某个用户从其交互式登录会话时间启动一个低优先权的批处理工作时),但其依赖于用户的合作。Solaris Resource Manager 强制执行管理策略,即使得不到用户的合作。
配额
Solaris 文件系统具有配额机制,可使管理员限制每个用户对磁盘的耗用。这个功能是独立于 Solaris Resource Manager 的。
处理器集
处理器集是在 Solaris 2.6 中推出的。该特性允许管理员将多处理器的系统分为逻辑组,并允许用户向这些组启动进程。其优点在于,在一个处理器集中运行的工作负载受到保护,免受正在任何其它处器集中发生的 CPU 活动的影响。在某些方面,这与 Solaris Resource Manager 的性能相类似,但是这两种特性是在完全不同的基础上运行的。处理器集只控制 CPU 的活动。该控制处于一种粒度相对粗糙的硬件水平,因为处理器在一个时间确实可以只属于一个处理器集。粒度间隔可能会相当高,特别是在较小的系统上:在一个四处理器的系统上,可以分配的最小资源为系统的 25%。
Solaris Resource Manager 具有粒度很细的控制;每个用户均被分配一定份额的系统资源。这些份额可以在细粒度上任意分配,而调度程序则会相应地对资源进行分配。例如,如果授予了 50 个份额,而某个用户得到其中的 40 个份额,则该用户就能获得系统资源的 40/50 = 80%。类似地,如果授予了 67 个总份额,而某个用户得到了其中的 57 个份额,则该用户就获得系统资源的 85%。此外,Solaris Resource Manager 还能控制除 CPU 以外的其它资源。请参阅 处理器组的作用和效能可了解关于 Solaris Resource Manager 与处理器集之间交互作用的详细介绍。
动态系统域
Sun Enterprise 10000 具有一种被称为动态系统域的特性,该特性可允许管理员把单一系统框架逻辑地划分为一个或多个独立的系统,这与主机上分区功能很类似。每个系统都运行各自版本的 Solaris。例如,采用 32 个 CPU 和 8 个系统板的计算机可以按照一个由 16 个 CPU 组成的系统和两个分别由 8 个 CPU 组成的系统的方式运行。在这种配置下,就会有三个版本的 Solaris 同时运行。动态系统域还可提供对输入和输出每个版本的 Solaris 的资源进行管理的工具,从而为管理物理资源创建一个相对大的便利。(域间分配的最小单位是整个系统板)。
Solaris Resource Manager 与动态系统域的类似之处在于,它还为管理员提供分配资源的机制,但它是以完全不同的方式进行分配的。Solaris Resource Manager 在 Solaris 的单一例程中运行,并可对该系统中的资源提供更精细的管理控制。Solaris Resource Manager 可被用于为 Sun Enterprise 10000 系统中的每个 Solaris 过程的很多用户和应用程序划分资源,并可与动态系统域结合使用。
动态重新配置
Sun Enterprise 服务器的动态重新配置功能可使用户动态地添加和删除包括处理器、内存、I/O 设备等硬件资源的系统板。动态重新配置的操作对内存的影响不会对 Solaris Resource Manager 内存界限检查功能产生影响。
Solaris 带宽管理器
Solaris 带宽管理器是可与 Solaris 内核一起运行的非捆绑软件包,可对网络带宽的耗用规定界限。Solaris 带宽管理器是一种资源管理软件,可用于多种不同类型的资源。Solaris Resource Manager 和 Solaris 带宽管理器具有不同的和独立的管理域:Solaris Resource Manager 是在用户或应用程序基础上运行的,而 Solaris 带宽管理器是在端口、服务或协议基础上运行的。