Solaris. Resource allocation. Part 3.
Создание нового пула ресурсов.
В операционной системе Solaris пул ресурсов является логической организацией, объединяющей системные ресурсы, такие как центральный процессор и оперативная память. Эти системные ресурсы называются так же resource sets (набор ресурсов).
Текущая система располагает только одним подмножеством ресурсов – процессорным набором. Любой пул ресурсов должен быть ассоциирован с процессорным набором. Таким образом, если стоит задача выделить только один процессор, необходимо определить процессорный набор, количество процессоров, которые он будет содержать и связать его с пулом.
Каждый новый пул ресурсов создаётся из пула по умолчанию. Например, для почтового сервера, выделен один процессор из четырёх, существующих в пуле по умолчанию. Пулы ресурсов можно динамически создавать и удалять на запущенной системе, но всегда необходимо оставлять один процессор для пула по умолчанию.
Для создания нового пула ресурсов:
- Включение функции пула ресурсов при помощи команды pooladm
global# pooladm –e
Этот пример показывает необходимость выполнения команды в глобальной зоне.
- Сохранение текущей конфигурации в файл с помощью команды pooladm
global# pooladm –s
- Просмотр созданных пулов на системе
global# pooladm
system my_system
string system.comment
int system.version 1
boolean system.bind-default true
int system.poold.pid 638
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 7
uint pset.size 8
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
Если команда запущена в системе, на которой не сконфигурированы дополнительные пулы, будет выдано сообщение только об одном пуле: «pool pool_default»
- Создание процессорного набора, содержащего один процессор, при помощи команды poolcfg.
global# poolcfg -c ‘create pset email-pset (uint pset.min=1; uint pset.max=1)’
Эта команда меняет конфигурацию пула, создавая процессорный набор (pset) под названием «email-pset», с минимум одним и максимум одним процессором.
- Создание пула ресурсов для процессорного набора:
global# poolcfg -c ‘create pool email-pool’
- Линковка пула с процессорным набором, этот пул ресурсов будет использоваться почтовым сервером:
global# poolcfg -c ‘associate pool email-pool (pset email-pset)’
- Активация конфигурации:
global# pooladm –c
- Проверка созданного пула ресурсов командой pooladm:
global# pooladm
system my_system
string system.comment
int system.version 1
boolean system.bind-default true
int system.poold.pid 638
pool email-pool
int pool.sys_id 1
boolean pool.active true
boolean pool.default false
int pool.importance 1
string pool.comment
pset email
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 email-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 7
uint pset.size 7
string pset.comment
cpu
int cpu.sys_id 1
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
Примечание: «pool email-pool» и «pset email-pset» секции опущены. Секция «pset email-pset» показывает, что один процессор связан с пулом «pset. size 1».
На рисунке проиллюстрировано состояние системы с новым однопроцессорным пулом:
Popularity: 1%
Этот материал находится на сайте http://compiling.ru
Интересная реализация. Интересно: зачем отделять пул от процессорного набора? Можть эт от спарков?
Не, на i386 точно есть.
Надо понимать, для выстраивания логической иерархии ресурсов.
Пул оперирует различными переменными, обозначающие разные ресурсы, вроде процессорного набора. Который, в свою очередь, состоит из выделенных процессоров.
Где-то так.