Oracle® Solaris Cluster 系统管理指南

退出打印视图

更新时间: 2015 年 10 月
 
 

如何在全局群集节点中控制 CPU 使用情况

执行此过程可为将在全局群集节点中执行的资源组分配 CPU 份额。

如果某个资源组分配有 CPU 份额,则当 Oracle Solaris Cluster 软件在全局群集节点中启动该资源组的资源时,将执行以下任务:

  • 根据指定的 CPU 份额数,增加分配给该节点的 CPU 份额数 (zone.cpu-shares)(如果尚未这样做)。

  • 在该节点中创建一个名为 SCSLM_resourcegroup_name 的项目(如果尚未这样做)。此项目特定于该资源组,并分配有指定数目的 CPU 份额 (project.cpu-shares)。

  • 启动 SCSLM_ resourcegroup_name 项目中的资源。

有关配置 CPU 控制工具的更多信息,请参见 rg_properties(5) 手册页。

  1. 将系统的默认调度程序设置为公平份额调度器 (Fair Share Scheduler, FSS)。
    # dispadmin -d FSS

    下次重新引导时,FSS 将成为默认调度程序。要使此配置立即生效,请使用 priocntl 命令。

    # priocntl -s -C FSS

    组合使用 priocntl 命令和 dispadmin 命令可确保 FSS 立即成为默认调度器,并在重新引导后也保持不变。有关设置调度类的更多信息,请参见 dispadmin(1M)priocntl(1) 手册页。


    注 - 如果 FSS 不是默认调度程序,您分配的 CPU 份额将不会生效。
  2. 在每个要使用 CPU 控制的节点上,配置全局群集节点的份额数以及默认处理器集中可用 CPU 的最小数目。

    如果没有给 globalzonesharesdefaultpsetmin 属性赋值,这些属性将采用各自的默认值。

    # clnode set [-p globalzoneshares=integer] \
    [-p defaultpsetmin=integer] \
    node
    –p defaultpsetmin=defaultpsetmininteger

    设置默认处理器集中可用的最小 CPU 数。默认值为 1。

    –p globalzoneshares=integer

    设置分配给节点的份额数。默认值为 1。

    node

    指定要设置其属性的节点。

    设置这些属性即是设置该节点的属性。

  3. 验证是否正确设置了这些属性。
    # clnode show node

    对于您指定的节点,clnode 命令可显示属性集以及为这些属性设置的值。如果未使用 clnode 设置 CPU 控制属性,这些属性将采用默认值。

  4. 配置 CPU 控制工具。
    # clresourcegroup create -p RG_SLM_TYPE=automated \
    [-p RG_SLM_CPU_SHARES=value] resource_group_name
    –pRG_SLM_TYPE=automated

    允许您控制 CPU 使用情况,并自动执行一些步骤以在 Oracle Solaris OS 中配置系统资源管理。

    –p RG_SLM_CPU_SHARES=value

    指定分配给资源组特定项目的 CPU 份额数(即 project.cpu-shares),并确定分配给节点的 CPU 份额数(即 zone.cpu-shares)。

    resource_group_name

    指定资源组的名称。

    在此过程中,未设置 RG_SLM_PSET_TYPE 属性。在节点中,该属性采用 default 值。

    这步操作将创建一个资源组。此外,您还可使用 clresourcegroup set 命令修改现有资源组。

  5. 激活配置更改。
    # clresourcegroup online -eM resource_group_name
    resource_group_name

    指定资源组的名称。


    注 - 请不要删除或修改 SCSLM_resource_group_name 项目。您可以手动将更多资源控制添加到项目中,例如,通过配置 project.max-lwps 属性。有关更多信息,请参见 projmod(1M) 手册页。