В этой главе описываются процедуры создания и администрирования пулов ресурсов.
Для получения вводной информации о пулах ресурсов см. Глава 12Пулы ресурсов (обзор).
Задача |
Описание |
Инструкции |
---|---|---|
Включение или выключение пулов ресурсов |
Включение или отключение пулов ресурсов в системе. | |
Включение или выключение динамических пулов ресурсов |
Включение или выключение механизма динамических пулов ресурсов в системе. | |
Создание статической конфигурации пулов ресурсов |
Создание файла статической конфигурации, совпадающей с текущей динамической конфигурацией. Для получения дополнительной информации см. Архитектура пулов ресурсов. | |
Изменение конфигурации пула ресурсов |
Пересмотр конфигурации пулов в системе, например, создание дополнительных пулов. | |
Связывание пула ресурсов с классом планирования |
Когда пул связан с классом планирования, все процессы, привязанные к пулу, используют указанный планировщик. | |
Установка ограничений конфигурации и определение целевых показателей конфигурации |
Указание целевых показателей для poold, которые необходимо учитывать при выполнении корректирующих действий. Для получения дополнительной информации о целевых показателях конфигурации см. Обзор poold. |
См. Настройка ограничений конфигурации и Определение целевых показателей конфигурации |
Установка уровня журналирования |
Указание уровня регистрации информации, генерируемой poold. | |
Использование текстового файла с командой poolcfg. |
Входные данные команды poolcfg могут поступать из текстового файла. | |
Перенос ресурсов в ядре. |
Перенос ресурсов в ядре. Например, перенос ресурсов с определенными идентификаторами в целевой набор. | |
Активация конфигурации пулов. |
Активация конфигурации из файла конфигурации по умолчанию. | |
Проверка допустимости конфигурации пулов перед сохранением ее параметров. |
Проверка допустимости конфигурации пулов с выяснением результатов проверки. |
Проверка допустимости конфигурации перед сохранением ее параметров |
Удаление конфигурации пулов из системы |
Все связанные ресурсы, например наборы процессоров, возвращаются в состояние по умолчанию. | |
Привязка процессов к пулу |
Связывание выполняющегося процесса с пулом ресурсов вручную. | |
Привязка задач или проектов к пулу |
Связывание задач или проектов с пулом ресурсов. | |
Привязка новых процессов к пулу ресурсов |
Для автоматического связывания новых процессов проекта с данным пулом к каждой записи в базе данных project необходимо добавить соответствующий атрибут. | |
Использование атрибутов project для привязки процесса к другому ресурсу. |
Изменение привязки к пулам при запуске новых процессов. |
Использование атрибутов project для привязки процесса к другому пулу |
Создание отчетов при помощи утилиты poolstat. |
Создание серии отчетов с указанными интервалами. | |
Вывод статистического отчета по набору ресурсов |
Для вывода статистического отчета по набору ресурсов pset используется средствоpoolstat. |
Начиная с Solaris 10 11/06, службы пулов ресурсов и динамических пулов ресурсов можно включать и выключать с помощью команды svcadm, описанной на справочной странице svcadm(1M).
Команда pooladm, описанная на справочной странице pooladm(1M), позволяет выполнять следующие действия:
включение механизма пулов для обеспечения возможности манипулирования пулами;
отключение механизма пулов для запрета манипулирования пулами.
Если при обновлении системы архитектура пулов ресурсов включена, и существует файл /etc/pooladm.conf, включается служба пулов, и к системе применяется конфигурация из данного файла.
Перейдите в режим суперпользователя или воспользуйтесь ролью, включающей в себя профиль управления процессами (Process Management).
Профиль управления процессами входит в роль системного администратора (System Administrator). Для получения дополнительной информации о ролях см. Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Включите службу пулов ресурсов.
# svcadm enable system/pools:default |
Перейдите в режим суперпользователя или воспользуйтесь ролью, включающей в себя профиль управления процессами (Process Management).
Профиль управления процессами входит в роль системного администратора (System Administrator). Для получения дополнительной информации о ролях см. Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Отключите службу пулов ресурсов.
# svcadm disable system/pools:default |
Перейдите в режим суперпользователя или воспользуйтесь ролью, включающей в себя профиль управления службами (Service Management).
Роли содержат полномочия и привилегированные команды. Информацию относительно создания роли и ее назначения пользователю приведены в Configuring RBAC (Task Map) в System Administration Guide: Security ServicesManaging RBAC (Task Map) руководства Руководство по системному администрированию: службы безопасности.
Включите службу динамических пулов ресурсов.
# svcadm enable system/pools/dynamic:default |
Как показывает этот пример, перед запуском динамических пулов ресурсов (DRP) следует сначала включить пулы ресурсов.
Между пулами ресурсов и динамическими пулами ресурсов существует зависимость. Служба DRP теперь зависит от пулов ресурсов. Существует возможность включения и отключения DRP отдельно от пулов ресурсов.
Из следующей экранной информации видно, что в настоящий момент отключены как пулы ресурсов, так и динамические пулы ресурсов:
# svcs *pool* STATE STIME FMRI disabled 10:32:26 svc:/system/pools/dynamic:default disabled 10:32:26 svc:/system/pools:default |
Включите механизм динамических пулов ресурсов:
# svcadm enable svc:/system/pools/dynamic:default # svcs -a | grep pool disabled 10:39:00 svc:/system/pools:default offline 10:39:12 svc:/system/pools/dynamic:default |
Следует отметить, что служба DRP по-прежнему не активирована.
Для определения причины неактивности службы DRP используется параметр -x команды svcs:
# svcs -x *pool* svc:/system/pools:default (resource pools framework) State: disabled since Wed 25 Jan 2006 10:39:00 AM GMT Reason: Disabled by an administrator. See: http://sun.com/msg/SMF-8000-05 See: libpool(3LIB) See: pooladm(1M) See: poolbind(1M) See: poolcfg(1M) See: poolstat(1M) See: /var/svc/log/system-pools:default.log Impact: 1 dependent service is not running. (Use -v for list.) svc:/system/pools/dynamic:default (dynamic resource pools) State: offline since Wed 25 Jan 2006 10:39:12 AM GMT Reason: Service svc:/system/pools:default is disabled. See: http://sun.com/msg/SMF-8000-GE See: poold(1M) See: /var/svc/log/system-pools-dynamic:default.log Impact: This service is not running. |
Включите службу пулов ресурсов для подготовки к запуску службы DRP:
# svcadm enable svc:/system/pools:default |
В результате выполнения команды svcs *pool* выводится следующая информация:
# svcs *pool* STATE STIME FMRI online 10:40:27 svc:/system/pools:default online 10:40:27 svc:/system/pools/dynamic:default |
Если обе службы работают, и отключается служба пулов ресурсов:
# svcadm disable svc:/system/pools:default |
В результате выполнения команды svcs *pool* выводится следующая информация:
# svcs *pool* STATE STIME FMRI disabled 10:41:05 svc:/system/pools:default online 10:40:27 svc:/system/pools/dynamic:default # svcs *pool* STATE STIME FMRI disabled 10:41:05 svc:/system/pools:default online 10:40:27 svc:/system/pools/dynamic:default |
Однако, в конечном счете, служба DRP переходит в состояние offline, поскольку служба пулов ресурсов отключена:
# svcs *pool* STATE STIME FMRI disabled 10:41:05 svc:/system/pools:default offline 10:41:12 svc:/system/pools/dynamic:default |
Выясните причину неактивности службы DRP:
# svcs -x *pool* svc:/system/pools:default (resource pools framework) State: disabled since Wed 25 Jan 2006 10:41:05 AM GMT Reason: Disabled by an administrator. See: http://sun.com/msg/SMF-8000-05 See: libpool(3LIB) See: pooladm(1M) See: poolbind(1M) See: poolcfg(1M) See: poolstat(1M) See: /var/svc/log/system-pools:default.log Impact: 1 dependent service is not running. (Use -v for list.) svc:/system/pools/dynamic:default (dynamic resource pools) State: offline since Wed 25 Jan 2006 10:41:12 AM GMT Reason: Service svc:/system/pools:default is disabled. See: http://sun.com/msg/SMF-8000-GE See: poold(1M) See: /var/svc/log/system-pools-dynamic:default.log Impact: This service is not running. |
Для работы DRP требуется запуск пулов ресурсов. Пулы ресурсов можно запустить, например, командой pooladm с параметром -e:
# pooladm -e |
Теперь в результате выполнения команды svcs *pool* выводится следующая информация:
# svcs *pool* STATE STIME FMRI online 10:42:23 svc:/system/pools:default online 10:42:24 svc:/system/pools/dynamic:default |
Перейдите в режим суперпользователя или воспользуйтесь ролью, включающей в себя профиль управления процессами (Process Management).
Профиль управления процессами входит в роль системного администратора (System Administrator). Для получения дополнительной информации о ролях см. Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Отключите службу динамических пулов ресурсов.
# svcadm disable system/pools/dynamic:default |
Перейдите в режим суперпользователя или воспользуйтесь ролью, включающей в себя профиль управления процессами (Process Management).
Профиль управления процессами входит в роль системного администратора (System Administrator). Для получения дополнительной информации о ролях см. Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Включите механизм управления пулами.
# pooladm -e |
Перейдите в режим суперпользователя или воспользуйтесь ролью, включающей в себя профиль управления процессами (Process Management).
Профиль управления процессами входит в роль системного администратора (System Administrator). Для получения дополнительной информации о ролях см. Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Отключите механизм управления пулами.
# pooladm -d |
С помощью команды -s с параметром /usr/sbin/pooladm создайте файл статической конфигурации, совпадающей с текущей динамической конфигурацией. Если не указано другое имя файла, используется местоположение по умолчанию /etc/pooladm.conf .
Зафиксируйте конфигурацию командой pooladm с параметром -c. После этого статическую конфигурацию следует привести в соответствие с динамической конфигурацией командой pooladm с параметром -s.
Новые функциональные возможности команды pooladm -s, являются предпочтительными по сравнению с ранее использовавшимися функциональными возможностями команды poolcfg -c discover для создания новой конфигурации, совпадающей с динамической конфигурацией.
Включите пулы в системе.
Перейдите в режим суперпользователя или воспользуйтесь ролью, включающей в себя профиль управления процессами (Process Management).
Профиль управления процессами входит в роль системного администратора (System Administrator). Для получения дополнительной информации о ролях см. Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Обновите файл статической конфигурации в соответствии с текущей динамической конфигурацией.
# 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 |
Зафиксируйте конфигурацию в /etc/pooladm.conf .
# pooladm -c |
(Дополнительно) Для копирования динамической конфигурации в файл статической /tmp/backup используется следующая команда:
# pooladm -s /tmp/backup |
Для расширения конфигурации создайте набор процессоров с названием pset_batch и пул с названием pool_batch. Затем свяжите пул и набор процессоров.
Следует отметить, что аргументы подкоманды, содержащие пробелы, указываются в кавычках.
Перейдите в режим суперпользователя или воспользуйтесь ролью, включающей в себя профиль управления процессами (Process Management).
Профиль управления процессами входит в роль системного администратора (System Administrator). Для получения дополнительной информации о ролях см. Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Создайте набор процессоров pset_batch.
# poolcfg -c 'create pset pset_batch (uint pset.min = 2; uint pset.max = 10)' |
Создайте пул pool_batch.
# 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 |
Зафиксируйте конфигурацию в /etc/pooladm.conf .
# pooladm -c |
(Дополнительно) Для копирования динамической конфигурации в файл статической конфигурации /tmp/backup используется следующая команда:
# pooladm -s /tmp/backup |
Если пул связывается с классом планирования, указанный планировщик используется для всех процессов, привязанных к пулу. Для этого в свойстве pool.scheduler указывается имя планировщика. В этом примере пул pool_batch связывается с планировщиком долевого распределения (FSS).
Перейдите в режим суперпользователя или воспользуйтесь ролью, включающей в себя профиль управления процессами (Process Management).
Профиль управления процессами входит в роль системного администратора (System Administrator). Информацию относительно создания роли и назначения роли пользователю приведены в разделе "Managing RBAC (Task Map)" руководства Руководство по системному администрированию: службы безопасности.
Измените пул pool_batch и свяжите его с FSS.
# 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 |
Зафиксируйте конфигурацию в /etc/pooladm.conf :
# pooladm -c |
(Дополнительно) Для копирования динамической конфигурации в файл статической /tmp/backup используется следующая команда:
# pooladm -s /tmp/backup |
Ограничения влияют на диапазон возможных конфигураций, устраняя ряд потенциальных изменений, которые можно было бы внести в конфигурацию. Эта процедура используется для настройки свойства cpu.pinned.
В следующих примерах cpuid является целым числом.
Перейдите в режим суперпользователя или воспользуйтесь ролью, включающей в себя профиль управления процессами (Process Management).
Профиль управления процессами входит в роль системного администратора (System Administrator). Для получения дополнительной информации о ролях см. Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Измените свойство cpu.pinned в статической или динамической конфигурации.
Для poold можно задать целевые показатели, которые будут учитываться при принятии корректирующих мер.
В следующей процедуре значение целевого показателя wt-load заставляет демон poold сопоставлять распределение ресурсов с их использованием. Целевой показатель locality отключен, что упростит достижение указанной цели.
Перейдите в режим суперпользователя или воспользуйтесь ролью, включающей в себя профиль управления процессами (Process Management).
Профиль управления процессами входит в роль системного администратора (System Administrator). Для получения дополнительной информации о ролях см. Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Измените системный параметр tester, чтобы присвоить более высокий приоритет целевому показателю wt-load.
# poolcfg -c 'modify system tester (string system.poold.objectives="wt-load")' |
Отключите целевой показатель locality для набора процессоров по умолчанию.
# poolcfg -c 'modify pset pset_default (string pset.poold.objectives="locality none")'one line |
Отключите целевой показатель locality для набора процессоров pset_batch.
# poolcfg -c 'modify pset pset_batch (string pset.poold.objectives="locality none")'one line |
Проверьте измененную конфигурацию.
# 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 |
Зафиксируйте конфигурацию в /etc/pooladm.conf .
# pooladm -c |
(Дополнительно) Для копирования динамической конфигурации в файл статической /tmp/backup используется следующая команда:
# pooladm -s /tmp/backup |
Уровень регистрационной информации, генерируемой демоном poold, задается в виде свойства system.poold.log-level в конфигурации poold. Конфигурация poold содержится в конфигурации libpool. Для получения дополнительной информации см. Информация журналирования poold и справочные страницы poolcfg(1M) и libpool(3LIB).
Также для указания уровня регистрационной информации, генерируемой демоном poold, может использоваться команда poold, вызываемая из командной строки.
Перейдите в режим суперпользователя или воспользуйтесь ролью, включающей в себя профиль управления процессами (Process Management).
Профиль управления процессами входит в роль системного администратора (System Administrator). Для получения дополнительной информации о ролях см. Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Уровень журналирования настраивается командой poold с параметром-l и дополнительным параметром (например, INFO).
# /usr/lib/pool/poold -l INFO |
Для получения информации о доступных параметрах см. Информация журналирования poold. Значение по умолчанию для уровня журналирования – NOTICE.
Команда poolcfg с параметром -f может получать входные данные из текстового файла, содержащего аргументы подкоманды poolcfg с параметром -c. Этот метод удобен при необходимости выполнения ряда операций. При обработке нескольких команд конфигурация обновляется только в случае успешности каждой из них. В случае крупных или сложных конфигураций этот прием может оказаться более удобным, чем вызов подкоманд по отдельности.
Следует отметить, что символ # в командных файлах означает, что остальная часть строки является комментарием.
Создайте входной файл poolcmds.txt .
$ 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).
Профиль управления процессами входит в роль системного администратора (System Administrator). Информацию относительно создания роли и назначения роли пользователю приведены в разделе "Managing RBAC" руководства Руководство по системному администрированию: службы безопасности.
Выполните команду:
# /usr/sbin/poolcfg -f poolcmds.txt |
Для переноса ресурсов в ядре используется аргумент подкоманды transfer параметра -c команды poolcfg с параметром -d. Параметр -d означает, что команда работает непосредственно с ядром и не получает входные данные из файла.
Следующая процедура позволяет переместить два ЦП из набора процессоров pset1 в набор процессоров pset2 в ядре.
Перейдите в режим суперпользователя или воспользуйтесь ролью, включающей в себя профиль управления процессами (Process Management).
Профиль управления процессами входит в роль системного администратора (System Administrator). Для получения дополнительной информации о ролях см. Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Переместите два ЦП из pset1 в pset2.
Элементы выражения from и to могут указываться в любом порядке. Поддерживается только одна пара to и from на команду.
# poolcfg -dc 'transfer 2 from pset pset1 to pset2' |
Если требуется выполнить перенос конкретных идентификаторов типа ресурса, можно воспользоваться альтернативным синтаксисом. Например, следующая команда присваивает два процессора с идентификаторами 0 и 2 набору процессоров pset_large:
# poolcfg -dc "transfer to pset pset_large (cpu 0; cpu 2)" |
Если перенос не удается из-за недостаточных ресурсов или из-за невозможности обнаружения указанных идентификаторов, выдается сообщение об ошибке.
Для активации определенной конфигурации пулов или удаления конфигурации пулов, активной в текущий момент, используется команда pooladm. Для получения дополнительной информации об этой команде см. справочную страницу pooladm(1M).
Для активации конфигурации из файла конфигурации по умолчанию /etc/pooladm.conf используется команда pooladm с параметром -c – "применить конфигурацию".
Перейдите в режим суперпользователя или воспользуйтесь ролью, включающей в себя профиль управления процессами (Process Management).
Профиль управления процессами входит в роль системного администратора (System Administrator). Для получения дополнительной информации о ролях см. Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Зафиксируйте конфигурацию в /etc/pooladm.conf .
# pooladm -c |
(Дополнительно) Скопируйте динамическую конфигурацию в файл статической конфигурации, например /tmp/backup.
# pooladm -s /tmp/backup |
Для выяснения результатов проверки допустимости можно использовать параметр -n с параметром -c. Фактического сохранения параметров конфигурации не происходит.
Следующая команда используется для проверки допустимости конфигурации, содержащейся в файле /home/admin/newconfig. Выводятся сообщения обо всех возникающих состояниях ошибки, однако сама конфигурация не изменяется.
Перейдите в режим суперпользователя или воспользуйтесь ролью, включающей в себя профиль управления процессами (Process Management).
Профиль управления процессами входит в роль системного администратора (System Administrator). Для получения дополнительной информации о ролях см. Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Перед сохранением параметров конфигурации ее следует проверить на допустимость.
# pooladm -n -c /home/admin/newconfig |
Для удаления текущей активной конфигурации и возврата всех связанных ресурсов, например наборов процессоров, к их состоянию по умолчанию используется параметр -x – "удалить конфигурацию".
Перейдите в режим суперпользователя или воспользуйтесь ролью, включающей в себя профиль управления процессами (Process Management).
Профиль управления процессами входит в роль системного администратора (System Administrator). Для получения дополнительной информации о ролях см. Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Удалите текущую активную конфигурацию.
# pooladm -x |
Параметр - x команды pooladm позволяет удалить из динамической конфигурации все элементы, заданные пользователем. Все ресурсы возвращаются в состояние по умолчанию, и все привязки пулов заменяются привязкой к пулу по умолчанию.
Допускается комбинирование процессов с классами планирования TS и IA в одном наборе процессоров. Комбинирование других классов планирования внутри одного набора процессоров может привести к непредсказуемым последствиям. Если в результате выполнения команды pooladm -x в рамках одного набора процессоров оказываются процессы с разными классами планирования, вынести выполняющиеся процессы в другой класс планирования можно командой priocntl. См. Перенос процессов из класса TS в класс FSS вручную. Также см. справочную страницу priocntl(1).
Для связывания пула ресурсов с проектом служит атрибут project.pool.
Связывание выполняющихся процессов осуществляется двумя способами.
Связать определенный процесс с именованным пулом ресурсов можно командой poolbind, описанной в poolbind(1M).
Определить привязку к пулу для нового сеанса регистрации или для задачи, запущенной по команде newtask, можно с помощью атрибута project.pool в базе данных project. См. справочные страницы newtask(1), projmod(1M) и project(4).
В следующей процедуре используется команда poolbind с параметром -p , позволяющая вручную связать процесс (в данном случае текущую оболочку) с пулом ohare.
Перейдите в режим суперпользователя или воспользуйтесь ролью, включающей в себя профиль управления процессами (Process Management).
Профиль управления процессами входит в роль системного администратора (System Administrator). Для получения дополнительной информации о ролях см. Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Свяжите процесс с пулом вручную:
# poolbind -p ohare $$ |
Проверьте привязку процесса к пулу командой poolbind с параметром -q.
$ poolbind -q $$ 155509 ohare |
Выводится идентификатор процесса и привязка к пулу.
Для привязки задач или проектов к пулу используется команда poolbind с параметром -i. В следующем примере все процессы в проекте airmiles связываются с пулом laguardia.
Перейдите в режим суперпользователя или воспользуйтесь ролью, включающей в себя профиль управления процессами (Process Management).
Профиль управления процессами входит в роль системного администратора (System Administrator). Для получения дополнительной информации о ролях см. Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Свяжите все процессы в проекте airmiles с пулом laguardia.
# poolbind -i project -p laguardia airmiles |
Атрибут project.pool позволяет выполнить привязку процессов проекта к пулу ресурсов.
Перейдите в режим суперпользователя или воспользуйтесь ролью, включающей в себя профиль управления процессами (Process Management).
Профиль управления процессами входит в роль системного администратора (System Administrator). Для получения дополнительной информации о ролях см. Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Добавьте атрибут project.pool к каждой записи в базе данных project.
# projmod -a -K project.pool=poolname project |
Предположим, существует конфигурация с двумя пулами – studio и backstage. В файле /etc/project содержатся следующие данные:
user.paul:1024::::project.pool=studio user.george:1024::::project.pool=studio user.ringo:1024::::project.pool=backstage passes:1027::paul::project.pool=backstage |
В этой конфигурации процессы, запущенные пользователем paul, по умолчанию связываются с пулом studio.
Пользователь paul может изменять привязку к пулу для запускаемых им проектов. Пользователь paul может также выполнять привязку к пулу backstage командой newtask в рамках проекта passes.
Запустите процесс в проекте passes.
$ newtask -l -p passes |
Для проверки правильности привязки проекта можно воспользоваться командой poolbind с параметром -q. Для передачи в команду номера процесса родительской оболочки используется двойной знак доллара ($$).
$ poolbind -q $$ 6384 pool backstage |
Выводится идентификатор процесса и привязка к пулу.
Команда poolstat позволяет вывести статистические данные по ресурсам, связанным с пулом. Для получения дополнительной информации см. Наблюдение за механизмом пулов и степени использования ресурсов командой poolstat и справочную страницу poolstat(1M).
В следующих подразделах приводятся примеры создания отчетов в различных целях.
По команде poolstat без аргументов выводится строка заголовка и по одной строке информации для каждого пула. В строке информации отображается идентификатор пула, имя пула и статистика по ресурсам набора процессоров, присоединенного к пулу.
machine% poolstat pset id pool size used load 0 pool_default 4 3.6 6.2 1 pool_sales 4 3.3 8.4 |
Следующая команда создает три отчета с 5-секундным интервалом выборки.
machine% poolstat 5 3 pset id pool size used load 46 pool_sales 2 1.2 8.3 0 pool_default 2 0.4 5.2 pset id pool size used load 46 pool_sales 2 1.4 8.4 0 pool_default 2 1.9 2.0 pset id pool size used load 46 pool_sales 2 1.1 8.0 0 pool_default 2 0.3 5.0 |
В следующем примере команда poolstat с параметром -r используется для вывода статистики по набору ресурсов набора процессоров. Следует отметить, что набор ресурсов pset_default присоединен к нескольким пулам, поэтому он выводится по одному разу для каждого пула, в который он входит.
machine% poolstat -r pset id pool type rid rset min max size used load 0 pool_default pset -1 pset_default 1 65K 2 1.2 8.3 6 pool_sales pset 1 pset_sales 1 65K 2 1.2 8.3 2 pool_other pset -1 pset_default 1 10K 2 0.4 5.2 |