分类:
2008-04-09 18:55:27
何时使用池
第12 章• 动态资源池(概述) 137
的响应速度。通过为每个应用程序使用单独的池,您可以对
可用于每个应用程序的CPU 数设定一个上限,然后再部署所
有的应用程序。
复杂分时服务器对支持大量用户的服务器进行分区。对服务器进行分区提供
了一种隔离机制,可使每个用户的响应更具可预测性。
通过将用户分为绑定到各个池的不同组,并使用公平共享调
度(fair share scheduling, FSS) 功能,您可以调整CPU 分配以优
先满足具有较高优先级的用户组。可以基于用户角色、记帐
费用分摊等进行这种分配。
周期性更改的工作负荷使用资源池适应变换的需求。
您的站点在工作负荷需求方面可能会出现长周期性(例如每
月、每季度或每年)的可预测变化。如果您的站点出现这些
变化,则可以通过从cron 作业中调用pooladm 在多个池配置
之间进行切换。(请参见第138 页中的“资源池框架”。)
实时应用程序使用RT 调度程序和指定的处理器资源创建实时池。
系统使用率执行建立的系统目标。
使用自动执行池守护进程这一功能识别可用的资源,然后监
视工作负荷以检测何时不能再满足指定的目标。守护进程可
以执行更正操作(如有可能),或者可以将情况记录下来。
资源池框架
/etc/pooladm.conf 配置文件描述了静态池配置。静态配置表示管理员根据资源池功能配置
系统的方法。可以指定备用文件名。
内核包含有关资源池框架中资源部署的信息。这称为动态配置,它表示特定系统在某个时
刻的资源池功能。可以使用pooladm 命令查看动态配置。请注意,池和资源集的属性显示顺
序可以改变。可以通过应用静态配置文件间接修改动态配置,也可以通过使用带有-d 选项
的poolcfg 命令直接进行修改。
可以存在多个静态池配置文件,在不同时间进行激活。您可以通过从cron 作业中调用
pooladm 在多个池配置之间进行切换。(请参见cron(1M) 手册页。)
缺省情况下,资源池框架不处于活动状态。必须启用资源池才能创建或修改动态配置。即
使禁用了资源池框架,仍可以使用poolcfg 或libpool 命令处理静态配置文件。如果池功能
不处于活动状态,则无法创建静态配置文件。有关配置文件的更多信息,请参见第140 页
中的“创建池配置”。
以下手册页中描述了用于资源池和poold 系统守护进程的命令:
pooladm(1M)
资源池框架
138 系统管理指南:Solaris Containers-资源管理和Solaris Zones • 2006 年7 月
poolcfg(1M)
poold(1M)
libpool(3LIB)
/etc/pooladm.conf 内容
保存在/etc/pooladm.conf 中的静态配置是特殊的静态配置。引导系统时,如果此文件存
在,则系统会启用资源池框架并将此静态配置应用于系统。
包括动态配置在内的所有资源池配置都可以包含以下元素。
system 影响系统整体行为的属性
pool 资源池定义
pset 处理器集定义
cpu 处理器定义
可以处理所有这些元素的属性,以更改资源池框架的状态和行为。例如,池属性
pool.importance 表示指定池的相对重要性。此属性用于可能的资源争用解决方案。有关更
多信息,请参见libpool(3LIB)。
池属性
池功能支持可用于池、资源或组件的命名的类型属性。管理员可以存储各种池元素的其他
属性。可以使用与项目属性类似的名称空间属性。
例如,以下注释表示指定的pset 与特定的Datatree 数据库关联。
Datatree,pset.dbname=warehouse
有关属性类型的其他信息,请参见第145 页中的“poold 属性”。
注– 许多特殊属性将保留供内部使用,不能进行设置或删除。有关更多信息,请参见
libpool(3LIB) 手册页。
在系统上实现池
可以使用以下方法之一,在系统上实现用户自定义的池。
引导Solaris 软件时,init 脚本会检查/etc/pooladm.conf 文件是否存在。如果找到此文
件,则会调用pooladm 以使此配置成为活动池的配置。系统将创建动态配置以反映
/etc/pooladm.conf 中请求的组织,并相应地对计算机的资源进行分区。
在系统上实现池
第12 章• 动态资源池(概述) 139
Solaris 系统运行时,既可以在不存在池配置时激活一个池配置,也可以使用pooladm 命
令修改池配置。缺省情况下,对/etc/pooladm.conf 执行pooladm 命令。但是,您可以选
择指定备用位置和文件名,并使用此文件更新池配置。
poold 资源控制器使用池功能来启动。
有关启用和禁用资源池的信息,请参见第154 页中的“启用和禁用池功能”。如果正在使
用用户自定义的池或资源,则不能禁用池功能。
要配置资源池,您必须拥有超级用户权限,或者在配置文件列表中拥有进程管理配置文
件。进程管理角色和系统管理员角色都包含进程管理配置文件。
SPARC: 动态重新配置操作和资源池
通过动态重新配置(dynamic Reconfiguration, DR),您可以在系统运行时重新配置硬件。DR
操作可以增大、减小对指定资源类型的影响,或者对其没有任何影响。由于DR 会影响可用
的资源量,因此,这些操作中必须包括池功能。启动DR 操作之后,池框架便会执行操作以
验证配置。
如果DR 操作可以继续而不会导致当前池配置变为无效,则会更新专用配置文件。无效配置
是指可用资源无法支持的配置。
如果DR 操作导致池配置无效,则操作会失败,并且系统会通过向消息日志发送消息来通知
您。如果您要强制完成配置,则必须使用DR 强制选项。池配置然后会修改以符合新的资源
配置。有关DR 进程和强制选项的信息,请参见Sun 硬件的动态重新配置用户指南。
当守护进程处于活动状态时,分区可以不受poold 的控制。有关更多信息,请参见第149 页
中的“识别资源不足”。
创建池配置
配置文件包含要在系统上创建的池的说明。此文件描述了可以处理的元素。
system
pool
pset
cpu
有关要处理的元素的更多信息,请参见poolcfg(1M)。
启用池之后,您可以通过两种方法创建结构化的/etc/pooladm.conf 文件。
可以使用带有-s 选项的pooladm 命令来搜索当前系统上的资源并将结果放入配置文件。
SPARC: 动态重新配置操作和资源池
140 系统管理指南:Solaris Containers-资源管理和Solaris Zones • 2006 年7 月
此方法为首选方法。系统上所有可以通过池功能处理的活动资源和组件都将被记录。这
些资源包括现有的处理器集配置。然后您可以修改配置以重命名处理器集或创建其他池
(如有必要)。
可以使用带有-c 选项的poolcfg 命令以及discover 或create system name 子命令来创建
新的池配置。
保留这些选项是为了向下兼容早期发行版。
使用poolcfg 或libpool 可以修改/etc/pooladm.conf 文件。请勿直接编辑此文件。
直接处理动态配置
可以使用带有-d 选项的poolcfg 命令直接在动态配置中处理CPU 资源类型。可以使用两种
方法传送资源。
您可以发出常规请求,以便在处理器集之间传送任何已识别的可用资源。
您可以将具有特定ID 的资源传送到目标集。请注意,更改资源配置时或重新引导系统
之后,可以更改与资源关联的系统ID。
有关示例,请参见第170 页中的“传送资源”。
请注意,资源传送可能会触发poold 执行操作。有关更多信息,请参见第141 页中的
“poold 概述”。
poold 概述
池资源控制器poold 使用系统目标和可查看的统计信息以维持您指定的系统性能目标。当需
要动态分配资源时,此系统守护进程应始终处于活动状态。
poold 资源控制器识别可用的资源,然后监视工作负荷以确定不再满足系统使用目标的情
况。然后,poold 根据目标考虑替换配置,并采取补救措施。如有可能,会重新配置资源以
满足目标。如果无法执行此操作,则守护进程会记录不能再实现用户指定的目标。重新配
置之后,守护进程恢复监视工作负荷目标。
poold 将维护它可以检查的决策历史记录。决策历史记录用于避免再次使用以前未带来任何
改进的配置。
请注意,如果更改工作负荷目标或修改可用于系统的资源,还可以异步触发重新配置。
停止poold
如果因某种原因不需要动态分配资源,则可以使用SIGQUIT 或SIGTERM 信号停止poold。这
两种信号都可以正常终止poold。
poold 概述
第12 章• 动态资源池(概述) 141
重新配置poold
poold 将自动检测资源或池配置中的更改。但是,您也可以使用SIGHUP 信号强制进行重新
配置。
配置约束和目标
更改配置时,poold 会针对您提供的指示执行操作。您可以将这些指示指定为一系列约束和
目标。poold 根据您指定的内容来确定其他可能配置相对于现有配置的相对值。poold 然后
更改当前配置的资源分配以生成新的候选配置。
配置约束
约束通过删除一些可能会对配置进行的潜在更改来影响可能配置的范围。在libpool 配置中
指定的以下约束均可用。
最小和最大CPU 分配量
无法从集中移动的固定组件
有关池属性的更多信息,请参见libpool(3LIB) 手册页和第139 页中的“池属性”。
pset.min 和pset.max 属性约束
这两个属性用于限制可以为处理器集分配的最小和最大处理器数。有关这些属性的更多详
细信息,请参见表12–1。
在遵守这些约束的情况下,可以将资源分区的资源分配给同一Solaris 实例中的其他资源分
区。通过将资源绑定到与资源集关联的池,可获取对此资源的访问权限。绑定可以在登录
时执行,也可以由拥有PRIV_SYS_RES_CONFIG 权限的管理员手动执行。
cpu.pinned 属性约束
cpu-pinned 属性指明DRP 不应将特定CPU 从它所在的处理器集中移动。您可以设置此
libpool 属性,以最大化在处理器集中执行的特定应用程序的高速缓存利用率。
有关此属性的更多详细信息,请参见表12–1。
配置目标
目标的指定方式与约束类似。表12–1 中记录了完整的目标集。
有两种类别的目标。
配置约束和目标
142 系统管理指南:Solaris Containers-资源管理和Solaris Zones • 2006 年7 月
与工作负荷有关与工作负荷有关的目标是指将随系统上运行的工作负荷的性质而变化
的目标。utilization 目标便是一个示例。资源集的使用率数字将随此
集中的活动工作负荷的性质而变化。
与工作负荷无关与工作负荷无关的目标是指不会随系统上运行的工作负荷的性质而变
化的目标。CPU locality 目标便是一个示例。资源集邻近性的评估标
准不随此集中的活动工作负荷的性质而变化。
您可以定义三种类型的目标。
名称有效元素运算符值
wt-load system N/A N/A
localitypset N/A loose | tight | none
utilization pset < > ~ 0–100%
目标存储在libpool 配置内的属性字符串中。这些属性名如下所示:
system.poold.objectives
pset.poold.objectives
目标的语法如下:
objectives = objective [; objective]*
objective = [n:] keyword [op] [value]
所有目标都有可选的重要性前缀。重要性用作目标的乘数,因此可增加它对目标函数评估
的影响程度。范围从0 到INT64_MAX (9223372036854775807)。如果未指定,则缺省的重要
性值为1。
某些元素类型支持多种目标类型。pset 便是一个示例。您可以为这些元素指定多种目标类
型,还可以针对单个pset 元素指定多个使用率目标。
有关使用情况的示例,请参见第165 页中的“如何定义配置目标”。
wt-load 目标
wt-load 目标优先考虑资源分配与资源使用率匹配的配置。当此目标处于活动状态时,资源
集使用的资源越多,为其提供的资源也越多。wt-load 表示加权负载。
使用此目标的前提是:满足使用最小和最大值属性建立的约束,并希望守护进程在遵守这
些约束的情况下自由处理资源。
配置约束和目标
第12 章• 动态资源池(概述) 143
locality 目标
locality 目标会影响由地址组(lgroup) 数据度量的邻近性对选定配置的影响。邻近性的另
一个定义是延迟。lgroup 描述了CPU 资源和内存资源。Solaris 系统使用lgroup 以时间为度
量值来确定资源之间的距离。有关地址组摘要的更多信息,请参见《Programming Interfaces
Guide》中的“Locality Groups Overview”。
此目标可采用以下三个值之一:
tight 如果设置,则优先考虑最大化资源邻近性的配置。
loose 如果设置,则优先考虑最小化资源邻近性的配置。
none 如果设置,则优先考虑配置时不受资源邻近性的影响。这是locality 目标的缺省
值。
通常,locality 目标应设置为tight。但是,为了最大化内存带宽或最小化DR 操作对资源
集的影响,可以将此目标设置为loose,也可以使其保留缺省设置none。
utilization 目标
utilization 目标优先考虑将资源分配给未满足指定使用率目标的分区的配置。
此目标使用运算符和值来指定。运算符如下:
<
“小于”运算符表明指定的值为最大目标值。
>
“大于”运算符表明指定的值为最小目标值。
~
“约等于”运算符表明指定的值是可在一定程度上上下浮动的目标值。
对于每种运算符类型,pset 只能设置一个utilization 目标。
如果设置了~ 运算符,则不能设置< 和> 运算符。
如果设置了< 和> 运算符,则不能设置~ 运算符。请注意,< 运算符和> 运算符的设置不
能互相冲突。
您可以同时设置< 和> 运算符来创建一个范围。要验证值以确保它们不重叠。
配置目标示例
在以下示例中,poold 将为pset 评估这些目标:
utilization 应保持在30% 到80% 之间。
应将处理器集的locality 最大化。
目标应采用缺省重要性1。
配置约束和目标
144 系统管理指南:Solaris Containers-资源管理和Solaris Zones • 2006 年7 月
示例12–1 poold 目标示例
pset.poold.objectives "utilization > 30; utilization < 80; localitytight"
有关其他使用情况的示例,请参见第165 页中的“如何定义配置目标”。
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 目标参数用户指定的重要性
配置约束和目标
第12 章• 动态资源池(概述) 145
可配置的poold 功能
您可以配置守护进程行为的以下方面:
监视间隔
日志级别
日志位置
这些选项在池配置中指定。您也可以通过调用poold,从命令行控制日志级别。
poold 监视间隔
使用属性名system.poold.monitor-interval 可以指定以毫秒为单位的值。
poold 日志信息
通过日志可提供三种类别的信息。日志中标识了这些类:
配置
监视
优化
使用属性名system.poold.log-level 可以指定日志参数。如果未指定此属性,则缺省的日
志级别为NOTICE。参数级别具有层次结构。设置DEBUG 的日志级别会让poold 记录所有定义
的消息。INFO 级别为多数管理员提供了有用的信息平衡。
您可以使用带有-l 选项的poold 命令以及参数在命令行中指定生成的日志信息级别。
以下参数为可用参数:
ALERT
CRIT
ERR
WARNING
NOTICE
INFO
DEBUG
参数级别直接映射到其syslog 对等项上。有关使用syslog 的更多信息,请参见第148 页中
的“日志位置”。
有关如何配置poold 日志的更多信息,请参见第169 页中的“如何设置poold 日志级别”。
配置信息日志
可以生成以下类型的消息:
可配置的poold 功能
146 系统管理指南:Solaris Containers-资源管理和Solaris Zones • 2006 年7 月
ALERT 访问libpool 配置时出现的问题,或者是libpool 功能的其他一些基本、无法预
测的故障。它会导致守护进程退出,需要管理员立即关注。
CRIT 由于无法预测的故障产生的问题。它会导致守护进程退出,需要管理员立即关
注。
ERR 用于控制操作的用户指定参数出现的问题,如资源集的相互冲突且无法解决的
使用率目标。它要求通过管理员干预来更正目标。poold 会尝试通过忽略冲突
的目标来采取补救措施,但某些错误将使守护进程退出。
WARNING 与配置参数的设置相关的警告,即使从技术角度来说是正确的,但可能不适合
指定的执行环境。例如将所有CPU 资源标记为固定,这意味着poold 不能在处
理器集之间移动CPU 资源。
DEBUG 包含进行配置调试时所需详细信息的消息。通常情况下,管理员不使用此信
息。
监视信息日志
可以生成以下类型的消息:
CRIT 由于无法预测的监视故障产生的问题。它会导致守护进程退出,需要管理员立即
关注。
ERR 由于无法预测的监视错误产生的问题。可请管理员来干预和更正。
NOTICE 有关资源控制区转换的消息。
INFO 有关资源使用率统计信息的消息。
DEBUG 包含进行监视调试时所需详细信息的消息。通常情况下,管理员不使用此信息。
优化信息日志
可以生成以下类型的消息:
WARNING 可显示有关做出最佳决策的问题的消息。例如可能包括受最小值和最大值或固
定的组件数严格约束的资源集。
可显示与执行最佳分配时由于无法预测的限制而产生的问题相关的消息。例如
从包含绑定资源使用者的处理器集上移除最后一个处理器。
NOTICE 可显示有关可用配置或由于会覆盖决策历史记录而未能实现的配置的消息。
INFO 可显示有关可考虑的备用配置的消息。
DEBUG 包含进行优化调试时所需详细信息的消息。通常情况下,管理员不使用此信
息。
可配置的poold 功能
第12 章• 动态资源池(概述) 147
日志位置
system.poold.log-location 属性用于指定poold 记录的输出的位置。您可以为poold 输出指
定SYSLOG 的位置(请参见syslog(3C))。
如果未指定此属性,则poold 记录的输出的缺省位置为/var/log/pool/poold。
当从命令行调用poold 时,不使用此属性。日志条目将写入发出调用的终端上的stderr。
使用logadm 管理日志
如果poold 处于活动状态,则logadm.conf 文件将包含管理缺省文件/var/log/pool/poold
的条目。此条目为:
/var/log/pool/poold -N -s 512k
请参见logadm(1M) 和logadm.conf(4) 手册页。
动态资源分配如何工作
本节介绍了poold 用来动态分配资源的进程和因素。
关于可用资源
可用资源即为可在poold 进程的范围内使用的所有资源。控制的范围最多为一个Solaris 实
例。
在启用区域的系统上,poold 的实例的执行范围限制为全局区域。
确定可用资源
资源池包含可供应用程序使用的所有系统资源。
对一个单独执行的Solaris 实例来说,必须将单一类型的资源(如CPU)分配到单个分区
上。对于每种资源类型,可以有一个或多个分区。每个分区包含一个唯一的资源集。
例如,装有四个CPU 和两个处理器集的计算机可以具有以下设置:
pset 0: 0 1
pset 1: 2 3
动态资源分配如何工作
148 系统管理指南:Solaris Containers-资源管理和Solaris Zones • 2006 年7 月
其中,冒号后的0、1、2 和3 表示CPU ID。请注意,这两个处理器集包含了所有四个
CPU。
同样的计算机不能具有以下设置:
pset 0: 0 1
pset 1: 1 2 3
不能使用这种设置,因为CPU 1 一次只能出现在一个pset 中。
不能从资源所属分区以外的任何分区来访问资源。
要搜索可用资源,poold 需要询问活动池的配置来查找分区。所有分区内的所有资源的总和
决定所控制的每种资源类型的可用资源总量。
此资源量是poold 操作过程中使用的基本数字。但是,对此数字存在一些约束,限制了
poold 在进行分配时的灵活性。有关可用约束的信息,请参见第142 页中的“配置约束”。
识别资源不足
poold 的控制范围定义为poold 对其有效分区和管理具有主要责任的可用资源集。但是,其
他可在此控制范围内处理资源的机制仍会影响配置。如果在poold 处于活动状态时某个分区
不受控制,则poold 将尝试通过对可用资源的审慎操作来恢复控制。如果poold 在其范围内
无法找到其他资源,则守护进程将记录有关资源不足的信息。
确定资源利用率
poold 通常情况下会使用最多的时间在其控制范围内观察资源的使用情况。执行这种监视是
为了验证是否满足了与工作负荷有关的目标。
例如,对于处理器集来说,在此集中的所有处理器都会进行度量。资源利用率显示了在抽
样间隔内资源使用的时间比例。资源利用率显示为0 到100 的百分比。
识别控制违规
第142 页中的“配置约束和目标”中介绍的指令用于检测系统无法达到其目标的故障。这
些目标与工作负荷直接相关。
未满足用户配置目标的分区即为控制违规。控制违规的两种类型为同步违规和异步违规。
目标的同步违规由守护进程在监视工作负荷的过程中进行检测。
目标的异步违规的出现与守护进程执行的监视操作无关。
动态资源分配如何工作
第12 章• 动态资源池(概述) 149
以下事件将导致异步目标违规:
向控制范围中添加资源或从中删除资源。
重新配置控制范围。
重新启动poold 资源控制器。
假定与工作负荷无关的目标的影响在目标函数的评估期间保持不变。与工作负荷无关的目
标仅在其中一个异步违规触发重新评估时才会再次评估。
确定适当的补救措施
当资源控制器确定某个资源使用者的资源不足时,第一反应就是增加资源以改善性能。
此时将检查并评估在控制范围的配置中指定的满足目标的备用配置。
由于针对响应监视了变化的资源并评估了每个资源分区,因此,此进程会随着时间不断完
善。可参阅决策历史记录,以避免再次使用过去在获取目标函数方面未带来任何改进的配
置。其他信息(如进程名称和数量)用于进一步评估历史数据的实用性。
如果守护进程不能进行更正操作,则会记录此情况。有关更多信息,请参见第146 页中的
“poold 日志信息”。
使用poolstat 监视池功能和资源利用率
poolstat 实用程序用于在系统上启用池的情况下监视资源利用率。此实用程序会重复检查
系统上所有活动的池,并基于选定的输出模式来报告统计信息。通过poolstat 统计信息,
您可以确定哪些资源分区过度使用。您可以分析这些统计信息,做出有关在系统处于资源
压力下时资源重新分配的决策。
poolstat 实用程序包括可用于检查特定池并报告资源集特定的统计信息的选项。
如果您在系统上实现区域并且在非全局区域中使用poolstat,则会显示有关与此区域的池
关联的资源的信息。
有关poolstat 实用程序的更多信息,请参见poolstat(1M) 手册页。有关poolstat 任务和使
用情况的信息,请参见第174 页中的“使用poolstat 报告与池相关的资源统计信息”。
poolstat 输出
在缺省的输出格式下,poolstat 会输出一个标题行,然后为每个池显示一行信息。池信息
行以池ID 和池名称开头,后接一列连接到池上的处理器集的统计数据。附加在多个池上的
资源集将多次显示,一次显示一个池的资源集。
列标题如下:
使用poolstat 监视池功能和资源利用率
150 系统管理指南:Solaris Containers-资源管理和Solaris Zones • 2006 年7 月
id 池ID。
pool 池名。
rid 资源集ID。
rset 资源集名。
type 资源集类型。
min 资源集大小的最小值。
max 资源集大小的最大值。
size 当前资源集大小。
used 当前资源集使用量的度量。
此使用量的计算方法为资源集的利用率百分比乘以资源集大小。如果资源集在上
次抽样间隔期间已重新配置,则可能不报告该值。未报告的值以连字符(-) 的形式
出现。
load 资源集上的负荷的完全表示。
有关此属性的更多信息,请参见libpool(3LIB) 手册页。
您可以在poolstat 输出中指定以下内容:
列的顺序
显示的标题
调整poolstat 操作间隔
您可以自定义poolstat 执行的操作。您可以设置报告的抽样间隔并指定统计信息重复的次
数。
interval 调整poolstat 执行的定期操作的间隔。所有间隔都以秒为单位指定。
count 指定统计信息重复的次数。在缺省情况下,poolstat 仅报告一次统计信息。
如果未指定interval 和count,则报告一次统计信息。如果指定了interval 而未指定count,则
会无限次地报告统计信息。
用于资源池功能的命令
下表中介绍的命令提供了池功能的主要管理接口。有关在启用了区域的系统上使用这些命
令的信息,请参见第137 页中的“区域中使用的资源池”。
用于资源池功能的命令
第12 章• 动态资源池(概述) 151
手册页参考说明
pooladm(1M) 在系统上启用或禁用池功能。激活特定配置或删除当前配置,并将关
联的资源返回到其缺省状态。如果在不带选项的情况下运行,则
pooladm 会显示当前的动态池配置。
poolbind(1M) 启用手动绑定功能,将项目、任务和进程绑定到资源池中。
poolcfg(1M) 提供对池和集的配置操作。使用此工具创建的配置通过使用pooladm
在目标主机上进行实例化。
如果使用-c 选项的info 子命令参数,则poolcfg 将在
/etc/pooladm.conf 中显示有关静态配置的信息。如果添加了一个文
件名参数,则此命令将显示有关命名文件中包含的静态配置的信息。
例如,poolcfg -c info /tmp/newconfig 显示有关/tmp/newconfig 文件
中包含的静态配置的信息。
poold(1M) 池系统守护进程。此守护进程使用系统目标和可查看的统计信息来达
到管理员指定的系统性能目标。如果在未满足目标的情况下无法进行
更正操作,则poold 将记录此情况。
poolstat(1M) 显示与池相关的资源统计信息。简化性能分析并为系统管理员提供资
源分区和重新分区任务方面的支持信息。提供了一些选项来检查指定
的池并报告资源集特定的统计信息。
库API 由libpool 提供(请参见libpool(3LIB) 手册页)。程序可使用库来处理池配置。
用于资源池功能的命令
152 系统管理指南:Solaris Containers-资源管理和Solaris Zones • 2006 年7 月
管理动态资源池(任务)
本章介绍如何设置和管理系统上的资源池。
有关资源池的背景信息,请参见第12 章。
管理动态资源池(任务图)
任务说明参考
启用资源池功能。激活系统上的资源池框架。第155 页中的“如何启用池”
禁用资源池功能。禁用系统上的资源池框架。第155 页中的“如何禁用池”
创建静态资源池配置。创建与当前动态配置相匹配的静
态配置文件。有关更多信息,请
参见第138 页中的“资源池框架
”。
第155 页中的“如何创建静态配
置”
修改资源池配置。修改系统上的池配置(例如通过
创建其他池)。
第158 页中的“如何修改配置”
将资源池与调度类关联。将池与调度类关联,以便所有绑
定到该池的进程都使用指定的调
度程序。
第161 页中的“如何将池与调度
类关联”
定义配置目标。为poold 指定目标以考虑何时执
行更正操作。有关配置目标的更
多信息,请参见第141 页中的
“poold 概述”。
第165 页中的“如何定义配置目
标”
设置日志级别。指定poold 生成的日志信息的级
别。
第169 页中的“如何设置poold
日志级别”
13 第1 3 章
153
任务说明参考
通过poolcfg 命令使用文本文
件。
poolcfg 命令可以从文本文件提
取输入。
第169 页中的“如何通过
poolcfg 使用命令文件”
在内核中传送资源。在内核中传送资源。例如,将具
有特定ID 的资源传送到目标
集。
第170 页中的“传送资源”
激活池配置。激活缺省配置文件中的配置。第171 页中的“如何激活池配置
”
在提交池配置之前验证此配置。验证池配置,以测试验证时将发
生的情况。
第171 页中的“如何在提交配置
之前验证配置”
删除系统中的池配置。将所有关联的资源(如处理器
集)返回到其缺省状态。
第171 页中的“如何删除池配置
”
将进程绑定到池。手动将系统上运行的进程与资源
池关联。
第172 页中的“如何将进程绑定
到池”
将任务或项目绑定到池。将任务或项目与资源池关联。第172 页中的“如何将任务或项
目绑定到池”
将新进程绑定到资源池。要将项目中的新进程自动绑定到
指定的池,请向project 数据库
中的每个条目添加一个属性。
第173 页中的“如何设置项目的
project.pool 属性”
使用project 属性将进程绑定到
其他池。
修改已启动的新进程的池绑定。第173 页中的“如何使用
project 属性将进程绑定到其他
池”
使用poolstat 实用程序生成报
告。
在指定的间隔生成多个报告。第174 页中的“按特定间隔生成
多个报告”
报告资源集统计信息。使用poolstat 实用程序报告pset
资源集的统计信息。
第175 页中的“报告资源集统计
信息”
启用和禁用池功能
您可以使用pooladm(1M) 手册页中介绍的pooladm 命令执行以下任务:
启用池功能以对池进行处理
禁用池功能以便不能对池进行处理
启用和禁用池功能
154 系统管理指南:Solaris Containers-资源管理和Solaris Zones • 2006 年7 月
如何启用池
成为超级用户,或者承担包括进程管理配置文件的角色。
系统管理员角色包括进程管理配置文件。有关如何创建角色并将角色指定给用户的信息,
请参见《系统管理指南:安全性服务》中的“管理RBAC(任务图)”。
启用池功能。
# pooladm -e
如何禁用池
成为超级用户,或者承担包括进程管理配置文件的角色。
系统管理员角色包括进程管理配置文件。有关如何创建角色并将角色指定给用户的信息,
请参见《系统管理指南:基本管理》中的“管理RBAC(任务图)”。
禁用池功能。
# pooladm -d
配置池
如何创建静态配置
对/usr/sbin/pooladm 使用-s 选项可以创建与当前动态配置相匹配的静态配置文件。如果
没有指定其他文件名,则使用缺省位置/etc/pooladm.conf。
使用带有-c 选项的pooladm 命令提交配置。然后,使用带有-s 选项的pooladm 命令更新静
态配置,以便与动态配置的状态相匹配。
注– 创建与动态配置相匹配的新配置时,应优先使用新功能pooladm -s,而不使用以前的功
能poolcfg -c discover。
在系统上启用池。
成为超级用户,或者承担包括进程管理配置文件的角色。
系统管理员角色包括进程管理配置文件。有关如何创建角色并将角色指定给用户的信息,
请参见《系统管理指南:安全性服务》中的“管理RBAC(任务图)”。
更新静态配置文件,以便与当前动态配置相匹配。
# pooladm -s
以上文章转自于 : http://developers.sun.com.cn/