CPU-Pools

From pressy's brainbackup
Jump to: navigation, search

CPU Pools

Create a set of CPUs inside a pool for a user,group or zone.

# pooladm -e 	-> enable
# pooladm -d 	-> disable
# pooladm -s 	-> save
# pooladm -c	-> commit

Create a new pset/pool

# poolcfg -c 'create pset pressy-set'
# poolcfg -c 'destroy pset pressy-set'
# poolcfg -c 'create pool pressy-pool'
# poolcfg -c 'destroy pool pressy-pool'
# poolcfg -c 'create pset pressy-set \
  (uint pset.min=1 ; uint pset.max=1)'
# poolcfg -c 'associate pool pressy-pool (pset pressy-set)' 
# poolcfg -c info
# pooladm -c
# pooladm -s 

Define a scheduling class

# poolcfg -c 'modify pool <pool> (string pool.scheduler="FSS")
# poolcfg -c 

Transfer CPUs on high load

# poolcfg -c 'modify system <name> \
  (string system.poold.objectives="wt-load")'
# poolcfg -c 'modify pset pset_default \
  (string pset.poold.objectives="locality none")'
# poolcfg -c 'modify pset pressy-set \ 
  (string pset.poold.objectives="locality none")'
# pooladm -c 

Manual CPU transfer

# poolcfg -dc 'transfer 1 from pset <name> to <name>'

Bind zone to pool (or reboot)

# poolbind -p pressy-pool -i zoneid tzone0

Pool for a user

# projadd -U jmoekamp -K project.pool=hog_pool hog_project

See also FSS