跳过导航链接 | |
退出打印视图 | |
![]() |
手册页第 1M 部分:系统管理命令 Oracle Solaris 11 Information Library (简体中文) |
- 创建和修改资源池配置文件
/usr/sbin/poolcfg -c command [-d | [filename]]
/usr/sbin/poolcfg -f command_file [-d | [filename]]
/usr/sbin/poolcfg -h
poolcfg 实用程序提供有关池和集合的配置操作。这些操作针对现有配置执行,并采取修改指定配置文件的形式。如果使用 -d 选项,则对内核状态进行修改。对所获得的配置的实际激活操作通过 pooladm(1M) 实用程序完成。
池配置文件必须是使用 poolcfg 本身或 libpool(3LIB) 直接构建的结构化文件。
如果动态位置已开放用于写入,则使用池动态位置和写入权限的 poolcfg 调用将挂起。
pooladm 可以使用此实用程序创建的配置在目标主机上对配置进行实例化。
所支持的选项如下:
将 command 指定为编辑命令。请参见 USAGE。
直接对内核状态进行操作。不允许使用 filename。
从 command_file 中获取命令。command_file 由编辑命令组成,每行一个命令。
显示有关编辑命令语法的扩展信息。
脚本包含以下编辑命令,每行一个命令:
以用户可读的形式将配置(或指定部分)显示至标准输出。如果没有指定实体,将显示系统信息。因此,poolcfg -c 'info' afile 是等同于 poolcfg - c 'info system name' afile 的调用。
创建具有指定类型和名称的实体。
删除指定的实体。
更改指定实体上列出的属性。
将一个或多个资源连接到池,或者替换一个或多个现有连接。
将一个或多个离散组件传输到资源。
将资源数量从 src 传输到 tgt。
将资源数量从 tgt 传输到 src。
创建系统实体,其中一个池实体和资源与当前系统配置匹配。所发现的每个资源类型的所有资源均记录在文件中,其中单个池引用每个资源类型的缺省资源。
当 poolcfg 直接对内核进行操作时,此命令是一个 NO-OP。请参见 -d 选项。
应避免使用此命令。创建配置的首选方法是配合使用 pooladm(1M) 和 -s 选项来导出动态配置。
将系统上实体的名称更改为新名称。
属性列表按以下方式指定:
( proptype name = value [ ; proptype name = value ]* )
其中对于给定的属性类型 (proptype) 和名称 (name) 对,将采用序列中最后一个定义。要删除属性,请使用 ~ proptype name。
资源列表按以下方式指定:
( resourcetype name [ ; resourcetype name ]* )
其中对于某个资源,将采用序列中最后一个指定资源。没有适用于资源列表的删除语法。
组件列表按以下方式指定:
( componenttype name [ ; componenttype name ]* )
其中对于某个组件,将采用序列中最后一个指定组件。没有适用于组件列表的删除语法。
计算机级别实体
资源关联的命名集合
处理器集资源
值为 true 或 false 之一。
64 位带符号的整数值。
64 位不带符号的整数值。
字符串由引号 (") 分隔,并且支持以 formats(5) 定义的字符转义序列。
不支持科学记数法。
示例 1 编写 poolcfg 脚本
以下 poolcfg 脚本将创建一个名为 Accounting 的池和一个处理器集 small-1。首先创建处理器集,然后创建池,再将其与处理器集关联。
create pset small-1 ( uint pset.min = 1 ; uint pset.max = 4) create pool Accounting associate pool Accounting ( pset small-1 )
示例 2 报告 pool_0
以下命令以用户可读形式在标准输出中提供有关 pool_0 的报告:
# poolcfg -c 'info pool pool_0' /etc/pooladm.conf
示例 3 销毁 pool_0 及其关联
以下命令将销毁 pool_0 及关联,但不会销毁之前已关联的资源:
# poolcfg -c 'destroy pool pool_0' /etc/pooladm.conf
示例 4 现实当前配置
以下命令将显示当前配置:
$ poolcfg -c 'info' /etc/pooladm.conf system example_system int system.version 1 boolean system.bind-default true string system.comment Discovered by libpool pool pool_default boolean pool.default true boolean pool.active true int pool.importance 5 string pool.comment string.pool.scheduler FSS pset pset_default pset pset_default int pset.sys_id -1 string pset.units population boolean pset.default true uint pset.max 4294967295 uint pset.min 1 string pset.comment boolean pset.escapable false uint pset.load 0 uint pset.size 2 cpu int cpu.sys_id 0 string cpu.comment cpu int cpu.sys_id 2 string cpu.comment
示例 5 将 ID 为 2 的 cpu 移动到内核中的处理器集 pset1
以下命令将 ID 为 2 的 cpu 移动到内核中的处理器集 pset1:
# poolcfg -dc 'transfer to pset pset1 ( cpu 2 )'
示例 6 将 2 个 cpu 从内核中的处理器集 pset1 移动到处理器集 pset2 中
以下命令将 2 个 cpu 从内核中的处理器集 pset1 移动到处理器集 pset2 中:
# poolcfg -dc 'transfer 2 from pset pset1 to pset2'
有关以下属性的说明,请参见 attributes(5):
|
调用为 Committed(已确定)。输出为 Uncommitted(未确定)。
pooladm(1M)、poolbind(1M)、libpool(3LIB)、attributes(5)、formats(5)
《Oracle Solaris 管理:Oracle Solaris Zones、Oracle Solaris 10 Zones 和资源管理》