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

Флаги и свойства элементов управления ресурсами

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

Локальные флаги определяют поведение по умолчанию и конфигурацию для определенного порогового значения данного элемента управления ресурсами по определенному процессу или совокупности процессов. Локальные флаги одного порогового значения не воздействуют на поведение других пороговых значений, определенных для того же элемента управления ресурсами. Однако глобальные флаги воздействуют на поведение всех значений, связанных с определенным элементом управления. Локальные флаги можно изменять в пределах ограничений, заданных соответствующими глобальными флагами, командой prctl или системным вызовом setrctl. См. setrctl(2).

Полный список локальных флагов, глобальных флагов и их определений приведены в rctlblk_set_value(3C).

Для определения поведения системы в случае достижения порогового значения по определенному элементу управления ресурсами используется команда rctladm, отображающая глобальные флаги для элемента управления ресурсами. Например, для отображения значений process.max-cpu-time необходимо ввести следующую команду:


$ rctladm process.max-cpu-time
	process.max-cpu-time  syslog=off  [ lowerable no-deny cpu-time inf seconds ]

Глобальные флаги имеют следующие значения.

lowerable

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

no-deny

Даже в случае превышения пороговых значений доступ к ресурсу никогда не запрещается.

cpu-time

По достижении пороговых значений для этого ресурса возможна передача SIGXCPU.

seconds

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

no-basic

Значения элемента управления ресурсами с типом полномочий basicзадать невозможно. Установка значений допускается только для привилегированных элементов управления ресурсами.

no-signal

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

no-syslog

Для этого элемента управления ресурсами невозможно определить глобальное действие сообщения syslog.

deny

Отклонение запросов на ресурс при превышении пороговых значений.

count

Значение счетчика (целое число) для элемента управления ресурсами.

bytes

Единица измерения для элемента управления ресурсами.

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


$ prctl -n process.max-cpu-time $$
	process 353939: -ksh
	NAME    PRIVILEGE    VALUE    FLAG   ACTION              RECIPIENT
 process.max-cpu-time
         privileged   18.4Es    inf   signal=XCPU                 -
         system       18.4Es    inf   none 

Флаг max (RCTL_LOCAL_MAXIMAL) устанавливается для обоих пороговых значений, а для данного элемента управления ресурсами определяется флаг inf (RCTL_GLOBAL_INFINITE). Значение inf соответствует бесконечному количеству. Это значение никогда не реализуется. Следовательно, в соответствии с конфигурацией оба пороговых показателя представляют собой бесконечные значения, которые не могут быть превышены.