在 Oracle® Solaris 11.2 中进行资源管理

退出打印视图

更新时间: 2014 年 7 月
 
 

配置目标

目标的指定方式与约束类似。Table 12–1 中记录了完整的一组目标。

有两种类别的目标。

与工作负荷有关

与工作负荷有关的目标是指将随系统上运行的工作负荷的性质而变化的目标。utilization 目标便是一个示例。资源集的使用率数字将随此集中的活动工作负荷的性质而变化。

与工作负荷无关

与工作负荷无关的目标是指不会随系统上运行的工作负荷的性质而变化的目标。CPU locality 目标便是一个示例。资源集邻近性的评估标准不随此集中的活动工作负荷的性质而变化。

您可以定义三种类型的目标。

名称
有效元素
运算符
wt-load
system
N/A
N/A
locality
pset
N/A
loose | tight | none
utilization
pset
< > ~
0100%

目标存储在 libpool 配置内的属性字符串中。这些属性名如下所示:

  • system.poold.objectives

  • pset.poold.objectives

目标的语法如下:

  • objectives = objective [; objective]*

  • objective = [n:] keyword [op] [value]

所有目标都有可选的重要性前缀。重要性用作目标的乘数,因此可增加它对目标函数评估的影响程度。范围从 0 到 INT64_MAX (9223372036854775807)。如果未指定,则缺省的重要性值为 1

某些元素类型支持多种目标类型。pset 便是一个示例。您可以为这些元素指定多种目标类型,还可以针对单个 pset 元素指定多个使用率目标。

有关用法的示例,请参见如何定义配置目标

wt-load 目标

wt-load 目标优先考虑资源分配与资源使用率匹配的配置。当此目标处于活动状态时,将为使用多个资源的资源集提供更多资源。wt-load 表示加权负载

使用此目标的前提是:满足使用最小和最大值属性建立的约束,并希望守护进程在遵守这些约束的情况下自由处理资源。

locality 目标

locality 目标会影响由地址组 (lgroup) 数据度量的邻近性对选定配置的影响。邻近性的另一个定义是延迟。lgroup 描述了 CPU 资源和内存资源。Oracle Solaris 系统使用 lgroup 以时间为度量值来确定资源之间的距离。

此目标可采用以下三个值之一:

tight

如果设置,则优先考虑最大化资源邻近性的配置。

loose

如果设置,则优先考虑最小化资源邻近性的配置。

none

如果设置,则优先考虑配置时不受资源邻近性的影响。这是 locality 目标的缺省值。

通常,locality 目标应设置为 tight。但是,为了最大化内存带宽或最小化 DR 操作对资源集的影响,可以将此目标设置为 loose,也可以使其保留缺省设置 none

utilization 目标

utilization 目标优先考虑将资源分配给未满足指定使用率目标的分区的配置。

此目标使用运算符和值来指定。运算符如下:

<

“小于”运算符表明指定的值为最大目标值。

>

“大于”运算符表明指定的值为最小目标值。

~

“约等于”运算符表明指定的值是可在一定程度上上下浮动的目标值。

对于每种运算符类型,pset 只能设置一个 utilization 目标。

  • 如果设置了 ~ 运算符,则不能设置 <> 运算符。

  • 如果设置了 <> 运算符,则不能设置 ~ 运算符。请注意,< 运算符和 > 运算符的设置不能互相冲突。

您可以同时设置 <> 运算符来创建一个范围。要验证值以确保它们不重叠。

配置目标示例

在以下示例中,poold 将为 pset 评估这些目标:

  • utilization 应保持在 30% 到 80% 之间。

  • 应将处理器集的 locality 最大化。

  • 目标应采用缺省重要性 1

示例 12-1  poold 目标示例

pset.poold.objectives "utilization > 30; utilization < 80; locality tight"

有关其他使用情况示例,请参见如何定义配置目标