欢迎来到之路教程(on itroad-com)

设置 pset

检查机器的当前配置,因为它现在存在。
我们应该看到所有内容都已分配给默认处理器集或者 pset_default :

# pooladm
system default
        string  system.comment 
        int     system.version 1
        boolean system.bind-default true
        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 6
                uint    pset.size 4
                string  pset.comment 
                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
                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

我们可以随时使用以下命令更新静态配置。

# pooladm -s

每当运行以下命令时,它都会提交到 /etc/pooladm.conf 文件:

# pooladm -c

要开始创建处理器集,首先要创建 pset 本身。
在此示例中,处理器集专门创建为始终具有 2 个 CPU,因此处理器集的最大值和最小值相同。

# poolcfg -c 'create pset pset_test (uint pset.min = 2; uint pset.max = 2)'

创建 pset 后,即可创建池。

# poolcfg -c 'create pool pool_test'

然后池必须与 pset 相关联。

# poolcfg -c 'associate pool pool_test (pset pset_test)'

处理器集和池现在应该是这样的:

# poolcfg -c info
system default
        string  system.comment 
        int     system.version 1
        boolean system.bind-default true
        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
        pool pool_test
                boolean pool.active true
                boolean pool.default false
                int     pool.importance 1
                string  pool.comment 
                pset    pset_test
        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 12
                uint    pset.size 4
                string  pset.comment 
                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
                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
        pset pset_test
                int     pset.sys_id -2
                boolean pset.default false
                uint    pset.min 2
                uint    pset.max 2
                string  pset.units population
                uint    pset.load 0
                uint    pset.size 0
                string  pset.comment

并且配置也应该提交到 pooladm.conf。

# poolcfg -c

重新启动系统,处理器组将根据配置设定的准则创建。

# shutdown -i6 -g0 -y

配置文件

池的默认配置文件是 /etc/pooladm.conf。
该文件中基本上列出了三件事:

system - This is the machine-level entity which represents the entire system.
pset - This is a processor set.
pool - This is a named collection of resources (processor set and/or scheduling class assignment).

检查确认

此时,处理器集已创建,可供任何区域或者应用程序根据要求使用。
要验证 pset 创建和池使用情况,请使用以下命令:

# psrinfo
# psrset
# poolstat
Solaris:如何创建处理器集 (pset) 并将其与池关联

资源池提供了一种将系统划分为具有可选调度类分配的持久处理器集的机制。
池甚至可以与动态重新配置 (DR) 一起使用。
本文说明了如何创建处理器集并将其与池相关联。
在创建处理器池之前,必须启用 svc:/system/pools:default 服务。
可以使用以下命令进行验证:

# svcs -l svc:/system/pools:default
fmri         svc:/system/pools:default
name         resource pools framework
enabled      true
state        online
next_state   none
state_time   Sun Jun 09 12:54:36 2013
logfile      /var/svc/log/system-pools:default.log
restarter    svc:/system/svc/restarter:default
dependency   require_all/none svc:/system/filesystem/minimal (online)

如果该服务未启用,可以使用以下命令启用:

# svcadm enable svc:/system/pools:default
日期:2020-09-17 00:15:21 来源:oir作者:oir