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

Настройка rcapd

Команду rcapadm можно использовать для настройки демона ограниченного выделения ресурсов. Имеются следующие возможности:

Для настройки демона необходимы полномочия суперпользователя или профиль управления процессами (Process Management) в списке профилей. Профиль управления процессами входит в роль управления процессами (Process Management) и в роль системного администратора (System Administrator).

Изменения конфигурации включаются в rcapd в соответствии с интервалом настройки (см. Интервалы операций rcapd) или по запросу, путем передачи сигнала SIGHUP (см. справочную страницу kill(1)).

Команда rcapadm без аргументов выводит текущее состояние демона ограниченного выделения ресурсов, если он настроен.

В следующих подразделах рассматривается принудительное применение ограничений, значения ограничений и рабочие интервалы rcapd.

Использование демона ограниченного выделения ресурсов в системе с установленными зонами

Управление размером резидентного набора (RSS) зоны осуществляется путем настройки ресурса capped-memory при настройке зоны. Для получения дополнительной информации см. Solaris 10 8/07: Управление физической памятью и ресурс capped-memory. rcapd может выполняться внутри зоны, в том числе в глобальной зоне, для реализации в этой зоне ограничений по памяти.

Для отдельной зоны можно указать временное ограничение потребляемой памяти; это значение остается действительным до ближайшей перезагрузки. См. Настройка временного ограничения ресурсов для зоны

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

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


Примечание –

Демон rcapd невозможно использовать в типизированной зоне lx. Однако для ограничения использования памяти в типизированной зоне может использоваться демон из глобальной зоны.


Порог принудительного ограничения памяти

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

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

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

Информацию по установке принудительного ограничения приведены в Установка порога принудительного ограничения памяти.

Определение ограничивающих значений

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

Проекты, для которых установлены слишком высокие значения ограничения по памяти, могут потребить всю доступную физическую память, не превысив своих ограничений. В этом случае управление физической памятью фактически выполняется ядром, а не демоном rcapd.

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

Воздействие на систему ввода-вывода

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

Воздействие на нагрузку процессора

Использование процессора демоном изменяется в зависимости от количества процессов в рабочих задачах проектов, в отношении которых применяется ограничение, а также от размеров адресных пространств этих задач.

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

Другая часть процессорного времени демона затрачивается на реализацию ограничений при их превышении. Затраченное время находится в пропорциональной зависимости от количества задействованной виртуальной памяти. Необходимое процессорное время уменьшается или увеличивается в ответ на соответствующие изменения общего размера адресного пространства рабочей задачи. Эта информация отображается в столбце vm выходных данных команды rcapstat. Для получения дополнительной информации см. Контроль использования ресурсов командой rcapstat и справочную страницу rcapstat(1).

Создание отчетов по совместно используемой памяти

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

Данная оценка полезна при работе с базами данных и другими рабочими нагрузками, активно использующими общую память. Для рабочих нагрузок баз данных можно провести выборку использования памяти проектом для определения подходящего начального значения ограничения, используя результаты выполнения команды prstat с параметрами -J или -Z. Для получения дополнительных сведений см. справочную страницу prstat(1M).

Интервалы операций rcapd

Для периодических операций, выполняемых rcapd, можно настроить интервалы.

Все интервалы указываются в секундах. Операции rcapd и стандартные значения их интервалов описаны в следующей таблице.

Операция 

Значение интервала по умолчанию в секундах 

Описание 

scan

15 

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

sample

Число секунд между выборкой размера резидентного набора и последующим принудительным ограничением. Минимальное значение – 1 секунда. 

report

5  

Число секунд между обновлением статистики подкачки страниц. При значении 0 статистика не обновляется, и результат команды rcapstat выводится в устаревшем виде.

config

60 

Число секунд между перенастройками. Во время перенастройки rcapadm осуществляет чтение файла конфигурации, определяет наличие обновлений и выполняет сканирование базы данных project на предмет новых или пересмотренных ограничений проекта. Передача сигнала SIGHUP в rcapd вызывает немедленную перенастройку.

Инструкции по настройке интервалов приведены в Установка интервалов операций.

Определение интервалов сканирования rcapd

Интервал сканирования определяет частоту поиска новых процессов демоном rcapd. В системах с большим количеством работающих процессов сканирование списка занимает больше времени, так что может быть оправдано увеличение продолжительности интервала в целях сокращения общих затрат процессорного времени. Однако интервал сканирования также соответствует минимальному времени существования процесса для причисления к ограниченной рабочей задаче. Если существуют рабочие нагрузки, запускающие множество короткоживущих процессов, то при увеличенном интервале сканирования rcapd может не относить эти процессы к рабочей нагрузке.

Определение интервалов выборки

Интервал выборки, настроенный командой rcapadm, представляет собой минимальный интервал времени ожидания rcapd между выборкой показателей потребления памяти рабочей нагрузкой и принудительным ограничением в случае превышения. В случае уменьшения этого интервала частота применения ограничений демоном rcapd обычно возрастает, что может привести к увеличению объема ввода-вывода вследствие подкачки страниц. Однако более короткий интервал выборки может также снизить воздействие внезапного скачка в потреблении физической памяти определенной рабочей нагрузкой на другие задачи. Интервал между операциями выборки, в течение которого память потребляется рабочей нагрузкой без ограничений, и, возможно, отбирается память у других ограниченных нагрузок, сужается.

Если интервал выборки, указанный для команды rcapstat, меньше интервала, указанного для команды rcapd c rcapadm, выходные данные для некоторых интервалов могут быть нулевыми. Это вызвано тем, что частота обновления статистики rcapd меньше интервала, указанного командой rcapadm. Интервал, указанный командой rcapadm , не зависит от интервала выборки, используемого командой rcapstat.