跳过导航链接 | |
退出打印视图 | |
系统管理指南:Oracle Solaris Containers-资源管理和 Oracle Solaris Zones Oracle Solaris 10 1/13 Information Library (简体中文) |
Solaris 10 11/06 及更高版本:如何使用 svcadm 启用资源池服务
Solaris 10 11/06 及更高版本:如何使用 svcadm 禁用资源池服务
Solaris 10 11/06 及更高版本:如何使用 svcadm 启用动态资源池服务
Solaris 10 11/06 及更高版本:如何使用 svcadm 禁用动态资源池服务
15. Solaris Management Console 中的资源控制功能
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 问题的故障排除
34. 关于安装、引导、停止、克隆和卸载 lx 标记区域(概述)
对 /usr/sbin/pooladm 使用 -s 选项可以创建与当前动态配置相匹配的静态配置文件。如果没有指定其他文件名,则使用缺省位置 /etc/pooladm.conf。
使用带有 -c 选项的 pooladm 命令提交配置。然后,使用带有 -s 选项的 pooladm 命令更新静态配置,以便与动态配置的状态相匹配。
注 - 创建与动态配置相匹配的新配置时,应优先使用新功能 pooladm -s,再考虑使用以前的功能 poolcfg -c discover。
开始之前
在系统上启用池。
系统管理员角色包含 "Process Management"(进程管理)配置文件。有关角色的更多信息,请参见《系统管理指南:基本管理》中的"使用 RBAC 和 Solaris 管理工具(任务列表)"。
# pooladm -s
请注意,配置中包含系统创建的缺省元素。
# poolcfg -c info system tester string system.comment int system.version 1 boolean system.bind-default true int system.poold.pid 177916 pool pool_default int pool.sys_id 0 boolean pool.active true boolean pool.default true int pool.importance 1 string pool.comment pset pset_default pset pset_default int pset.sys_id -1 boolean pset.default true uint pset.min 1 uint pset.max 65536 string pset.units population uint pset.load 10 uint pset.size 4 string pset.comment boolean testnullchanged true cpu int cpu.sys_id 3 string cpu.comment string cpu.status on-line cpu int cpu.sys_id 2 string cpu.comment string cpu.status on-line cpu int cpu.sys_id 1 string cpu.comment string cpu.status on-line cpu int cpu.sys_id 0 string cpu.comment string cpu.status on-line
# pooladm -c
# pooladm -s /tmp/backup
要增强配置,请创建名为 pset_batch 的处理器集以及名为 pool_batch 的池。然后,使用关联连接池和处理器集。
请注意,必须用引号将包含空格的子命令参数括起来。
系统管理员角色包含 "Process Management"(进程管理)配置文件。有关角色的更多信息,请参见《系统管理指南:基本管理》中的"使用 RBAC 和 Solaris 管理工具(任务列表)"。
# poolcfg -c 'create pset pset_batch (uint pset.min = 2; uint pset.max = 10)'
# poolcfg -c 'create pool pool_batch'
# poolcfg -c 'associate pool pool_batch (pset pset_batch)'
# poolcfg -c info system tester string system.comment kernel state int system.version 1 boolean system.bind-default true int system.poold.pid 177916 pool pool_default int pool.sys_id 0 boolean pool.active true boolean pool.default true int pool.importance 1 string pool.comment pset pset_default pset pset_default int pset.sys_id -1 boolean pset.default true uint pset.min 1 uint pset.max 65536 string pset.units population uint pset.load 10 uint pset.size 4 string pset.comment boolean testnullchanged true cpu int cpu.sys_id 3 string cpu.comment string cpu.status on-line cpu int cpu.sys_id 2 string cpu.comment string cpu.status on-line cpu int cpu.sys_id 1 string cpu.comment string cpu.status on-line cpu int cpu.sys_id 0 string cpu.comment string cpu.status on-line pool pool_batch boolean pool.default false boolean pool.active true int pool.importance 1 string pool.comment pset pset_batch pset pset_batch int pset.sys_id -2 string pset.units population boolean pset.default true uint pset.max 10 uint pset.min 2 string pset.comment boolean pset.escapable false uint pset.load 0 uint pset.size 0 cpu int cpu.sys_id 5 string cpu.comment string cpu.status on-line cpu int cpu.sys_id 4 string cpu.comment string cpu.status on-line
# pooladm -c
# pooladm -s /tmp/backup
您可以将池与调度类关联,以便所有绑定到该池的进程都可以使用此调度程序。为此,请将 pool.scheduler 属性设置为调度程序的名称。以下示例将池 pool_batch 与公平共享调度程序 (Fair Share Scheduler, FSS) 关联。
系统管理员角色包含 "Process Management"(进程管理)配置文件。有关如何创建该角色并将其指定给用户的信息,请参见《系统管理指南:安全性服务》中的“管理 RBAC(任务列表)”。
# poolcfg -c 'modify pool pool_batch (string pool.scheduler="FSS")'
# poolcfg -c info system tester string system.comment int system.version 1 boolean system.bind-default true int system.poold.pid 177916 pool pool_default int pool.sys_id 0 boolean pool.active true boolean pool.default true int pool.importance 1 string pool.comment pset pset_default pset pset_default int pset.sys_id -1 boolean pset.default true uint pset.min 1 uint pset.max 65536 string pset.units population uint pset.load 10 uint pset.size 4 string pset.comment boolean testnullchanged true cpu int cpu.sys_id 3 string cpu.comment string cpu.status on-line cpu int cpu.sys_id 2 string cpu.comment string cpu.status on-line cpu int cpu.sys_id 1 string cpu.comment string cpu.status on-line cpu int cpu.sys_id 0 string cpu.comment string cpu.status on-line pool pool_batch boolean pool.default false boolean pool.active true int pool.importance 1 string pool.comment string pool.scheduler FSS pset batch pset pset_batch int pset.sys_id -2 string pset.units population boolean pset.default true uint pset.max 10 uint pset.min 2 string pset.comment boolean pset.escapable false uint pset.load 0 uint pset.size 0 cpu int cpu.sys_id 5 string cpu.comment string cpu.status on-line cpu int cpu.sys_id 4 string cpu.comment string cpu.status on-line
# pooladm -c
# pooladm -s /tmp/backup
约束通过删除一些可能会对配置进行的潜在更改来影响可能配置的范围。此过程显示如何设置 cpu.pinned 属性。
在以下示例中,cpuid 是一个整数。
系统管理员角色包含 "Process Management"(进程管理)配置文件。有关角色的更多信息,请参见《系统管理指南:基本管理》中的"使用 RBAC 和 Solaris 管理工具(任务列表)"。
# poolcfg -c 'modify cpu <cpuid> (boolean cpu.pinned = true)'
# poolcfg -dc 'modify cpu <cpuid> (boolean cpu.pinned = true)'
您可以为 poold 指定目标,以考虑何时执行更正操作。
在以下过程中,将设置 wt-load 目标,以便 poold 尝试将资源分配与资源利用率相匹配。禁用 locality 目标有助于实现此配置目标。
系统管理员角色包含 "Process Management"(进程管理)配置文件。有关角色的更多信息,请参见《系统管理指南:基本管理》中的"使用 RBAC 和 Solaris 管理工具(任务列表)"。
# poolcfg -c 'modify system tester (string system.poold.objectives="wt-load")'
# poolcfg -c 'modify pset pset_default (string pset.poold.objectives="locality none")'
# poolcfg -c 'modify pset pset_batch (string pset.poold.objectives="locality none")'
# poolcfg -c info system tester string system.comment int system.version 1 boolean system.bind-default true int system.poold.pid 177916 string system.poold.objectives wt-load pool pool_default int pool.sys_id 0 boolean pool.active true boolean pool.default true int pool.importance 1 string pool.comment pset pset_default pset pset_default int pset.sys_id -1 boolean pset.default true uint pset.min 1 uint pset.max 65536 string pset.units population uint pset.load 10 uint pset.size 4 string pset.comment boolean testnullchanged true string pset.poold.objectives locality none cpu int cpu.sys_id 3 string cpu.comment string cpu.status on-line cpu int cpu.sys_id 2 string cpu.comment string cpu.status on-line cpu int cpu.sys_id 1 string cpu.comment string cpu.status on-line cpu int cpu.sys_id 0 string cpu.comment string cpu.status on-line pool pool_batch boolean pool.default false boolean pool.active true int pool.importance 1 string pool.comment string pool.scheduler FSS pset batch pset pset_batch int pset.sys_id -2 string pset.units population boolean pset.default true uint pset.max 10 uint pset.min 2 string pset.comment boolean pset.escapable false uint pset.load 0 uint pset.size 0 string pset.poold.objectives locality none cpu int cpu.sys_id 5 string cpu.comment string cpu.status on-line cpu int cpu.sys_id 4 string cpu.comment string cpu.status on-line
# pooladm -c
# pooladm -s /tmp/backup
要指定 poold 生成的日志信息的级别,请在 poold 配置中设置 system.poold.log-level 属性。poold 配置保存在 libpool 配置中。有关更多信息,请参见poold 日志信息以及 poolcfg(1M) 和 libpool(3LIB) 手册页。
您还可以在命令行中使用 poold 命令,以指定 poold 生成的日志信息的级别。
系统管理员角色包含 "Process Management"(进程管理)配置文件。有关角色的更多信息,请参见《系统管理指南:基本管理》中的"使用 RBAC 和 Solaris 管理工具(任务列表)"。
# /usr/lib/pool/poold -l INFO
有关可用参数的信息,请参见poold 日志信息。缺省日志级别为 NOTICE。
带有 -f 选项的 poolcfg 命令可以从包含 -c 选项的 poolcfg 子命令参数的文本文件提取输入。此方法适用于要执行一组操作的情况。当处理多个命令时,仅在所有命令都成功的情况下才会更新配置。对于庞大或复杂的配置,此技术比调用每个子命令更有用。
请注意,在命令文件中,# 字符用作注释标记,表示其后面的内容为注释。
$ cat > poolcmds.txt create system tester create pset pset_batch (uint pset.min = 2; uint pset.max = 10) create pool pool_batch associate pool pool_batch (pset pset_batch)
系统管理员角色包含 "Process Management"(进程管理)配置文件。有关如何创建该角色并将其指定给用户的信息,请参见《系统管理指南:安全性服务》中的“管理 RBAC”。
# /usr/sbin/poolcfg -f poolcmds.txt