JavaScript is required to for searching.
跳过导航链接
退出打印视图
系统管理指南:Oracle Solaris Containers-资源管理和 Oracle Solaris Zones     Oracle Solaris 10 1/13 Information Library (简体中文)
search filter icon
search icon

文档信息

前言

第 1 部分资源管理

1.  Solaris 10 资源管理介绍

2.  项目和任务(概述)

3.  管理项目和任务

4.  扩展记帐(概述)

5.  管理扩展记帐(任务)

6.  资源控制(概述)

7.  管理资源控制(任务)

8.  公平共享调度程序(概述)

9.  管理公平共享调度程序(任务)

10.  使用资源上限设置守护进程控制物理内存(概述)

11.  管理资源上限设置守护进程(任务)

12.  资源池(概述)

资源池和动态资源池的新增功能

资源池介绍

动态资源池介绍

关于启用和禁用资源池和动态资源池

区域中使用的资源池

何时使用池

资源池框架

/etc/pooladm.conf 内容

池属性

在系统上实现池

project.pool 属性

SPARC: 动态重新配置操作和资源池

创建池配置

直接处理动态配置

poold 概述

管理动态资源池

配置约束和目标

配置约束

pset.minpset.max 属性约束

cpu.pinned 属性约束

pool.importance 属性约束

配置目标

wt-load 目标

locality 目标

utilization 目标

配置目标示例

poold 属性

可配置的 poold 功能

poold 监视间隔

poold 日志信息

配置信息日志

监视信息日志

优化信息日志

日志位置

使用 logadm 管理日志

动态资源分配如何工作

关于可用资源

确定可用资源

识别资源不足

确定资源利用率

识别控制违规

确定适当的补救措施

使用 poolstat 监视池功能和资源利用率

poolstat 输出

调整 poolstat 操作间隔

用于资源池功能的命令

13.  创建和管理资源池(任务)

14.  资源管理配置示例

15.  Solaris Management Console 中的资源控制功能

第 2 部分区域

16.  Solaris Zones 介绍

17.  非全局区域配置(概述)

18.  规划和配置非全局区域(任务)

19.  关于安装、停止、克隆和卸载非全局区域(概述)

20.  安装、引导、停止、卸载和克隆非全局区域(任务)

21.  非全局区域登录(概述)

22.  登录到非全局区域(任务)

23.  移动和迁移非全局区域(任务)

24.  Oracle Solaris 10 9/10:将物理 Oracle Solaris 系统迁移到区域中(任务)

25.  关于安装了区域的 Oracle Solaris 系统上的软件包和修补程序(概述)

26.  在安装了区域的 Oracle Solaris 系统上添加和删除软件包和修补程序(任务)

27.  Oracle Solaris Zones 管理(概述)

28.  Oracle Solaris Zones 管理(任务)

29.  升级安装了非全局区域的 Oracle Solaris 10 系统

30.  各种 Oracle Solaris Zones 问题的故障排除

第 3 部分lx 标记区域

31.  关于标记区域和 Linux 标记区域

32.  规划 lx 标记区域配置(概述)

33.  配置 lx 标记区域(任务)

34.  关于安装、引导、停止、克隆和卸载 lx 标记区域(概述)

35.  安装、引导、停止、卸载和克隆 lx 标记区域(任务)

36.  登录到 lx 标记区域(任务)

37.  移动和迁移 lx 标记区域(任务)

38.  在 lx 标记区域中管理和运行应用程序(任务)

词汇表

索引

配置约束和目标

更改配置时,poold 会针对您提供的指示执行操作。可以将这些指示指定为一系列约束和目标。poold 根据您指定的内容,来确定其他可能配置相对于现有配置的相对值。然后,poold 更改当前配置的资源指定,以生成新的候选配置。

配置约束

约束通过排除某些可能会对配置进行的潜在更改来影响可能配置的范围。在 libpool 配置中指定的以下约束均可用。

有关池属性的更多信息,请参见 libpool(3LIB) 手册页和池属性

pset.minpset.max 属性约束

这两个属性用于限制可以为处理器集分配的最小和最大处理器数。有关这些属性的更多详细信息,请参见表 12-1

在遵守这些约束的情况下,可以将资源分区的资源分配给同一 Solaris 实例中的其他资源分区。通过将资源绑定到与资源集关联的池,可获取对此资源的访问权限。绑定可以在登录时执行,也可以由拥有 PRIV_SYS_RES_CONFIG 特权的管理员手动执行。

cpu.pinned 属性约束

cpu-pinned 属性指明,DRP 不应从特定 CPU 所在的处理器集中移动该 CPU。您可以设置此 libpool 属性,以最大化在处理器集中执行的特定应用程序的高速缓存利用率。

有关此属性的更多详细信息,请参见表 12-1

pool.importance 属性约束

pool.importance 属性描述了池的相对重要性,该重要性由管理员定义。

配置目标

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

有两种类别的目标。

与工作负荷有关

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

与工作负荷无关

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

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

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

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

目标的语法如下:

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

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

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

wt-load 目标

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

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

locality 目标

locality 目标会影响由地址组 (lgroup) 数据度量的邻近性对选定配置的影响。邻近性的另一个定义是延迟。lgroup 描述了 CPU 资源和内存资源。Solaris 系统使用 lgroup 以时间为度量值来确定资源之间的距离。有关地址组摘要的更多信息,请参见《编程接口指南》中的"地址组概述"

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

tight

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

loose

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

none

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

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

utilization 目标

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

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

<

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

>

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

~

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

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

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

配置目标示例

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

示例 12-1 poold 目标示例

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

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

poold 属性

有四种类别的属性:

表 12-1 定义的属性名

属性名称
类型
类别
说明
system.poold.log-level
字符串
配置
日志级别
system.poold.log-location
字符串
配置
日志位置
system.poold.monitor-interval
uint64
配置
监视抽样间隔
system.poold.history-file
字符串
配置
决策历史记录的位置
pset.max
uint64
约束
此处理器集的最大 CPU 数
pset.min
uint64
约束
此处理器集的最小 CPU 数
cpu.pinned
布尔型
约束
固定到此处理器集的 CPU
system.poold.objectives
字符串
目标
遵循 poold 的目标表达式语法的格式化字符串
pset.poold.objectives
字符串
目标
遵循 poold 的表达式语法的格式化字符串
pool.importance
int64
目标参数
用户指定的重要性