Руководство по системному администрированию: контейнеры в Solaris - управление ресурсами и зонами

Глава 9 Администрирование планировщика долевого распределения (задачи)

В этой главе описывается использование планировщика долевого распределения (FSS).

Краткое описание FSS приведены в Глава 8Планировщик долевого распределения (обзор). Для получения дополнительной информации о классах планирования при использовании зон см. Класс планирования в зоне.

Администрирование планировщика долевого распределения (карта задач)

Задача 

Описание 

Информация 

Наблюдение за использованием ЦП 

Наблюдение за использованием ЦП проектами, а также проектов в наборах процессоров. 

Наблюдение за FSS

Настройка класса планировщика по умолчанию 

Определение планировщика, например, FSS, в качестве системного планировщика по умолчанию. 

Определение FSS в качестве класса планировщика по умолчанию

Перемещение выполняемых процессов из одного класса планирования в другой, например, в класс FSS 

Перенос процессов вручную из одного класса планирования в другой без изменения класса планирования по умолчанию и без перезагрузки. 

Перенос процессов из класса TS в класс FSS вручную

Перемещение всех выполняемых процессов во всех классах планирования в другой класс планирования, например, в класс FSS 

Перенос процессов вручную из всех классов планирования в другой класс планирования без изменения класса планирования по умолчанию и без перезагрузки. 

Перенос процессов из всех классов пользователей в класс FSS вручную

Перемещение процессов проекта в другой класс планирования, например, в класс FSS 

Перенос процессов проекта вручную из текущего класса планирования в другой класс планирования. 

Перенос процессов проекта в класс FSS вручную

Исследование и отладка параметров FSS 

Отладка значения шага квантования времени планировщика. Шаг квантования времени – это время, в течение которого может выполняться поток до принудительного освобождения процессора.

Отладка параметров планировщика

Наблюдение за FSS

Для контроля использования ЦП активными проектами применяется команда prstat, описанная на справочной странице prstat(1M).

Для получения статистики потребления процессорных ресурсов в долгосрочной перспективе используются данные расширенного учета. См. Глава 4Расширенный учет (обзор).

ProcedureНаблюдение за использованием ЦП в системе по проектам

  1. Для контроля использования ЦП проектами, выполняющимися в системе, используется команда prstat с параметром -J.


    % prstat -J
    

ProcedureНаблюдение за использованием ЦП проектами в наборах процессоров

  1. Для контроля использования ЦП проектами в списке наборов процессоров можно воспользоваться следующей командой:


    % prstat -J -C pset-list
    

    где список_наборов – список идентификаторов наборов процессоров, разделенных запятыми.

Настройка FSS

Для настройки FSS используются те же команды, что и для других классов планирования в системе Solaris. Настраивается класс планировщика, регулируемые параметры планировщика, а также свойства отдельных процессов.

Следует отметить, что для перезапуска службы планировщика используется команда svcadm restart. Для получения дополнительной информации см. svcadm(1M).

ProcedureОпределение FSS в качестве класса планировщика по умолчанию

Для вступления в силу распределения долей ЦП FSS должен быть системным планировщиком по умолчанию.

Комбинация команд priocntl и dispadmin позволяет задать FSS в качестве планировщика по умолчанию как немедленно, так и после перезагрузки.

  1. Перейдите в режим суперпользователя или воспользуйтесь эквивалентной ролью.

    Роли содержат подтвержденные полномочия и привилегированные команды. Для получения дополнительной информации о ролях см. Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.

  2. Задайте FSS как системный планировщик по умолчанию.


    # dispadmin -d FSS
    

    Это изменение вступает в силу при следующей перезагрузке. После перезагрузки каждый процесс в системе выполняется в классе планирования FSS.

  3. Эту конфигурацию можно принудительно применить немедленно, без перезагрузки.


    # priocntl -s -c FSS -i all
    

ProcedureПеренос процессов из класса TS в класс FSS вручную

Процессы можно переносить вручную из одного класса планирования в другой без изменения класса планирования по умолчанию и без перезагрузки. Эта процедура позволяет переместить процессы из класса планирования TS в класс планирования FSS вручную.

  1. Перейдите в режим суперпользователя или воспользуйтесь эквивалентной ролью.

    Роли содержат подтвержденные полномочия и привилегированные команды. Для получения дополнительной информации о ролях см. Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.

  2. Переместите процесс init (PID 1) в класс планирования FSS.


    # priocntl -s -c FSS -i pid 1
    
  3. Переместите все процессы из класса планирования TS в класс планирования FSS.


    # priocntl -s -c FSS -i class TS
    

    Примечание –

    После перезагрузки все процессы снова будут выполняться в классе планирования TS.


ProcedureПеренос процессов из всех классов пользователей в класс FSS вручную

Может использоваться класс по умолчанию, отличный от TS. Например, в системе может работать оконная среда, использующая по умолчанию класс IA. Все процессы можно переместить вручную в класс планирования FSS без изменения класса планирования по умолчанию и без перезагрузки.

  1. Перейдите в режим суперпользователя или воспользуйтесь эквивалентной ролью.

    Роли содержат подтвержденные полномочия и привилегированные команды. Для получения дополнительной информации о ролях см. Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.

  2. Переместите процесс init (PID 1) в класс планирования FSS.


    # priocntl -s -c FSS -i pid 1
    
  3. Переместите все процессы из текущих классов планирования в класс планирования FSS.


    # priocntl -s -c FSS -i all
    

    Примечание –

    После перезагрузки все процессы снова будут выполняться в классе планирования по умолчанию.


ProcedureПеренос процессов проекта в класс FSS вручную

Процессы проекта можно переместить вручную из текущего класса планирования в класс планирования FSS.

  1. Перейдите в режим суперпользователя или воспользуйтесь эквивалентной ролью.

    Роли содержат подтвержденные полномочия и привилегированные команды. Для получения дополнительной информации о ролях см. Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.

  2. Переместите процессы, выполняющиеся в проекте с идентификатором 10, в класс планирования FSS.


    # priocntl -s -c FSS -i projid 10
    

    После перезагрузки процессы проекта снова будут выполняться в классе планирования по умолчанию.

Отладка параметров планировщика

Для просмотра или изменения параметров планировщика в работающей системе используется команда dispadmin. Так, команду dispadmin можно использовать для исследования и отладки значения шага квантования времени планировщика FSS. Шаг квантования времени – это время, в течение которого может выполняться поток до принудительного освобождения процессора.

Для отображения текущего шага квантования времени для планировщика FSS в работающей системе необходимо ввести следующую команду:


$ dispadmin -c FSS -g
#
# Fair Share Scheduler Configuration
#
RES=1000
#
# Time Quantum
#
QUANTUM=110

Если используется параметр -g, также можно использовать и параметр -r для указания разрешения, используемого для вывода значений шага квантования времени. Если разрешение не указано, то по умолчанию значения шага квантования времени отображаются в миллисекундах.


$ dispadmin -c FSS -g -r 100
#
# Fair Share Scheduler Configuration
#
RES=100
#
# Time Quantum
#
QUANTUM=11

Для настройки параметров планирования для класса планирования FSS используется команда dispadmin -s. Значения в файле файл должны иметь формат выходных данных параметра -g. Эти значения записываются поверх текущих значений в ядре. Введите следующие команды:


$ dispadmin -c FSS -s file