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

Настройка FSS

Проекты и пользователи

Проекты – это контейнеры рабочих нагрузок в планировщике FSS. Группы пользователей, назначенные проекту, обрабатываются как единые управляемые блоки. Следует отметить, что можно создать проект с собственным количеством долей для отдельного пользователя.

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

Для получения дополнительной информации о базе данных project(4) и службе имен см. База данных project.

Настройка долей ЦП

Управление конфигурацией долей ЦП осуществляется службой имен в виде свойства базы данных project.

При создании первой задачи (или процесса), связанной с проектом, через библиотечную функцию setproject(3PROJECT) в ядро передается количество долей ЦП, определенных в виде элемента управления ресурсами project.cpu-shares в базе данных project . Проектам, для которых не определен элемент управления ресурсами project.cpu-shares, назначается одна доля.

В следующем примере данной записью в файле /etc/project для проекта x-files задается количество долей, равное 5:


x-files:100::::project.cpu-shares=(privileged,5,none)

Если количество долей процессора, выделенных проекту в базе данных, изменяется во время выполнения процессов, количество долей для данного проекта в этот момент не изменяется. Для вступления изменений в силу проект необходимо перезапустить.

Если требуется временно изменить количество долей, назначенных проекту, не изменяя атрибуты проекта в базе данных project, следует использовать команду prctl. Например, для изменения значения элемента управления ресурсами project.cpu-shares проекта x-files на 3 во время работы процессов, связанных с этим проектом, можно воспользоваться следующей командой:


# prctl -r -n project.cpu-shares -v 3 -i project x-files

Для получения дополнительной информации см. справочную страницу prctl(1).

-r

Замена текущего значения для указанного элемента управления ресурсами.

-n имя

Имя элемента управления ресурсами.

-v значение

Значение элемента управления ресурсами.

-i тип_идентификатора

Тип идентификатора следующего аргумента.

x-files

Объект для изменения. В этом экземпляре объектом является проект x-files.

Проект system с идентификатором проекта 0 включает в себя все системные демоны, запущенные сценариями инициализации при начальной загрузке. Проект system можно рассматривать как проект с бесконечным количеством долей. Это означает, что проект system всегда планируется первым, независимо от количества долей, выделенных другим проектам. Если процесс system не должен получать неограниченное число долей, количество долей для него можно указать в базе данных project.

Как указано выше, процессы, принадлежащие проектам с нулевыми долями, всегда получают нулевой системный приоритет. Проекты с одной или несколькими долями работают с приоритетами, равными одному или выше. Таким образом, проекты с нулевыми долями планируются только при наличии достаточных процессорных ресурсов, не потребляемых проектами с ненулевыми долями.

Максимальное количество долей, которое можно назначить проекту, составляет 65535.