可以使用公平份额调度器 (fair share scheduler, FSS),根据区域中各工作负荷的重要性控制可用 CPU 资源在区域之间的分配。这种工作负荷重要性通过您为每个区域分配的 CPU 资源份额数来表示。即使您没有使用 FSS 来管理区域之间的 CPU 资源分配,您也可以将区域的调度类设置为使用 FSS,以便您可为区域中的项目设置份额。
在显式设置 cpu-shares 属性时,公平份额调度器 (fair share scheduler, FSS) 将用作该区域的调度类。但是,在此情况下使用 FSS 的首选方法是通过 dispadmin 命令将 FSS 设置为系统缺省的调度类。这样,所有区域都将从获取系统 CPU 资源的公平份额中受益。如果未为区域设置 cpu-shares,区域将使用系统缺省的调度类。以下操作可为区域设置调度类:
在 Solaris 10 8/07 发行版中,可以在 zonecfg 中使用 scheduling-class 属性来为区域设置调度类。
可以通过资源池功能为区域设置调度类。如果区域与 pool.scheduler 属性设置为有效调度类的池相关联,则缺省情况下区域中运行的进程会以该调度类运行。请参见资源池介绍和如何将池与调度类关联。
如果设置了 cpu-shares rctl,但未通过其他操作将 FSS 设置为区域的调度类,则 zoneadmd 将在区域引导时将调度类设置为 FSS。
如果未通过其他任何操作设置调度类,区域将继承系统的缺省调度类。
请注意,您可以使用 priocntl(1) 手册页中所述的 priocntl,在不更改缺省调度类和不重新引导的情况下将正在运行的进程移至其他调度类。