执行此过程可将 CPU 份额分配给将要在全局区域执行的资源组。
如果某个资源组得到 CPU 份额,当 Sun Cluster 软件在全局区域启动该资源组的资源时将执行以下任务:
通过添加指定的 CPU 份额数以增加为非全局区域分配的 CPU 份额数 ( zone.cpu-shares)(如果尚未执行此操作的话)。
在全局区域创建一个名为 SCSLM_resourcegroup_name 的项目(如果尚未这样做)。此项目特定于该资源组,并已得到指定数目的 CPU 份额 (project.cpu-shares)。
启动 SCSLM_resourcegroup_name 项目中的资源。
有关配置 CPU 控制工具的更多信息,请参见 rg_properties(5) 手册页。
将系统的默认调度程序设置为公平份额调度器 (Fair Share Scheduler, FSS)。
# dispadmin -d FSS |
下次重新引导时,FSS 将成为默认调度程序。要使此配置立即生效,请使用 priocntl 命令。
# priocntl -s -C FSS |
组合使用 priocntl 命令和 dispadmin 命令可确保 FSS 立即成为默认调度程序,并在重新引导后保持不变。有关设置调度类的更多信息,请参见 dispadmin(1M) 页和 priocntl(1) 手册页。
如果 FSS 不是默认调度程序,您分配的 CPU 份额将不会生效。
在每个使用 CPU 控制的节点上,配置全局区域的份额数,以及默认处理器集中可用的最小 CPU 数。
设置这些参数有助于确保全局区域中运行的进程不与非全局区域中运行的进程争用 CPU。如果没有给 globalzoneshares 和 defaultpsetmin 属性赋值,这些属性将使用各自的默认值。
# clnode set [-p globalzoneshares=integer] \ [-p defaultpsetmin=integer] \ node |
设置默认处理器集中可用的最小 CPU 份额数。默认值为 1。
设置分配给全局区域的份额数。默认值为 1。
指定要设置其属性的节点。
设置这些属性时,即是设置全局区域属性。如果您不设置这些属性,则无法得益于非全局区域中的 RG_SLM_PSET_TYPE 属性。
检验是否正确设置了这些属性。
# clnode show node |
对于您指定的节点,clnode 命令可打印出为这些属性设置的属性集和值。如果不使用 clnode 设置 CPU 控制属性,这些属性将使用默认值。
配置 CPU 控制工具。
# clresourcegroup create -p RG_SLM_TYPE=automated \ [-p RG_SLM_CPU_SHARES=value] resource_group_name |
允许您控制 CPU 使用情况,并自动执行一些步骤以在 Solaris OS 中配置系统资源管理。
指定给资源组特定项目分配的 CPU 份额数(即 project.cpu-shares);确定给全局区域分配的 CPU 份额数(即 zone.cpu-shares)。
指定资源组的名称。
在此过程不要设置 RG_SLM_PSET_TYPE 属性。在全局区域中,该属性使用 default 值。
这步操作将创建一个资源组。此外,您也可使用 clresourcegroup set 命令修改现有资源组。
激活配置更改。
# clresourcegroup online -M resource_group_name |
指定资源组的名称。
请不要删除或修改 SCSLM_resource_group_name 项目。您可以手动将更多资源控制添加到项目中,例如,通过配置 project.max-lwps 属性来添加。有关更多信息,请参见 projmod(1M) 手册页。