Site icon UnixArena

How to create new CPU resource pool in Solaris

Solaris 10 has many resource control model. Here we are going to see how to create new processor pool and how to associate processor set to it.Resource pools enable you to separate workloads so that workload consumption of certain resources does not overlap.
For an example, specific user process or specific application  process are consuming high CPU usage and  if you want to restrict those process to specific processors using pool.

So that specific  high CPU consumption process will not overload other CPU’s since we have bind the process to specific process. 
Here we are going to see how to create processor set and how to assign to specific local zone.

Processor information:

Arena-Node1#psrinfo -p
1
Arena-Node1#psrinfo
0 on-line since 07/30/2012 01:45:54
1 on-line since 07/30/2012 01:45:58

Checking the current pool configuration:

Arena-Node2#pooladm
pooladm: couldn't open pools state file: Facility is not active.

Activating the pool using the below command:

Arena-Node1#pooladm -e
Checking the current pool configuration.
Arena-Node1#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 234
uint pset.size 2
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

#poolcfg -c 'create pset arenazone-pset(uint pset.min=1;uint pset.max = 1)'
poolcfg: cannot load configuration from /etc/pooladm.conf: No such file or directory.

To save the current pool configuration.

Arena-Node1#pooladm -s

The above command will create /etc/pooladm.conf.

Arena-Node1#poolcfg -c 'create pset arenazone-pset(uint pset.min=1; uint pset.max=1)'


The above command created the pset with one processor core in the name of arenazone-pset.

Creating  the new pool called arenazone-pool

Arena-Node1#poolcfg -c 'create pool arenazone-pool'

Associating the arenazone-pset with arenazone-pool

Arena-Node1#poolcfg -c 'associate pool arenazone-pool(pset arenazone-pset)'

Now have processor pool with one CPU core.

Instantiate the configuration

Arena-Node1#pooladm -c

To verify the configuration

Arena-Node1#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
pool arenazone-pool
int pool.sys_id 2
boolean pool.active true
boolean pool.default false
int pool.importance 1
string pool.comment
pset arenazone-pset
pset arenazone-pset
int pset.sys_id 1
boolean pset.default false
uint pset.min 1
uint pset.max 1
string pset.units population
uint pset.load 0
uint pset.size 1
string pset.comment
cpu
int cpu.sys_id 0
string cpu.comment
string cpu.status on-line
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 38
uint pset.size 1
string pset.comment
cpu
int cpu.sys_id 1
string cpu.comment
string cpu.status on-line

Note:In the above output, you can see that one processor core has been removed from pool_default and assigned to arenazone-pool.
You can see the changes in /etc/pooladm.conf as well.

Assigning the processor pool to local zone:
Using zonecfg,we can associate an exiting pool to an existing zone using the set pool option.

Arenaglobal# zonecfg -z arenazone
zonecfg:arenazone> set pool=arenazone-pool
zonecfg:arenazone> verify
zonecfg:arenazone> exit
Arenaglobal#

By doing this zone will be restricted to use CPU cores which are assigned to that pool.


Thank you for reading this article.Please leave a comment if you have any doubt ,i will get back to you as soon as possible.

Exit mobile version