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

Глава 11 Администрирование демона ограниченного выделения ресурсов (задачи)

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

Обзор демона rcapd приведены в Глава 10Управление физической памятью с помощью демона ограниченного выделения ресурсов (обзор).

Настройка и использование демона ограниченного выделения ресурсов (карта задач)

Задача 

Описание 

Инструкции 

Установка порога принудительного ограничения памяти 

Настройка ограничения, которое реализуется при недостатке физической памяти, доступной процессам. 

Установка порога принудительного ограничения памяти

Установка интервала операций 

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

Установка интервалов операций

Включение ограниченного выделения ресурсов 

Включение ограниченного выделения ресурсов в системе. 

Включение ограниченного выделения ресурсов

Отключение ограниченного выделения ресурсов 

Отключение ограниченного выделения ресурсов в системе. 

Отключение демона ограниченного выделения ресурсов

Вывод информации об ограничениях и проектах 

Просмотр примеров команд для создания отчетов. 

Создание отчетов об ограниченном использовании ресурсов и о проектах

Контроль размера резидентного набора проекта 

Создание отчета о размере резидентного набора проекта. 

Контроль RSS проекта

Определение размера рабочего набора проекта 

Создание отчета о размере рабочего набора проекта. 

Определение размера рабочего набора проекта

Создание отчета об использовании памяти и ограничениях использования памяти 

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

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

Управление демоном ограниченного выделения ресурсов командой rcapadm

В этом разделе приведены процедуры настройки демона ограниченного выделения ресурсов командой rcapadm. Для получения дополнительной информации см. раздел Настройка rcapd и справочную страницу rcapadm(1M). Также рассматривается настройка временного ограничения выделения ресурсов с помощью команды rcapadm

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

ProcedureУстановка порога принудительного ограничения памяти

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

Минимальное значение (оно же значение по умолчанию) равно 0, т. е. ограничения применяются всегда. Приведенная ниже процедура позволяет задать другое минимальное значение.

  1. Перейдите в режим суперпользователя или воспользуйтесь ролью, включающей в себя профиль управления процессами (Process Management).

    Профиль управления процессами входит в роль системного администратора (System Administrator). Для получения информации о создании роли и назначении роли пользователю см. раздел "Управление RBAC (карта задач)" в документе Руководство по системному администрированию: службы безопасности.

  2. Для установки другого значения использования памяти, при котором должно применяться ограничение памяти, используется параметр -c команды rcapadm.


    # rcapadm -c percent
    

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

См. также

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

ProcedureУстановка интервалов операций

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

  1. Перейдите в режим суперпользователя или воспользуйтесь ролью, включающей в себя профиль управления процессами (Process Management).

    Профиль управления процессами входит в роль системного администратора (System Administrator). Для получения информации о создании роли и назначении роли пользователю см. раздел "Управление RBAC (карта задач)" в документе Руководство по системному администрированию: службы безопасности.

  2. Для установки значений интервалов используется параметр -i.


    # rcapadm -i interval=value,...,interval=value 
    

    Примечание –

    Все значения интервалов указываются в секундах.


ProcedureВключение ограниченного выделения ресурсов

Существует три способа включения ограниченного выделения ресурсов в системе. При включении ограниченного выделения ресурсов в файле /etc/rcap.conf выставляются значения по умолчанию.

  1. Перейдите в режим суперпользователя или воспользуйтесь ролью, включающей в себя профиль управления процессами (Process Management).

    Профиль управления процессами входит в роль системного администратора (System Administrator). Для получения информации о создании роли и назначении роли пользователю см. раздел "Управление RBAC (карта задач)" в документе Руководство по системному администрированию: службы безопасности.

  2. Демон ограниченного выделения ресурсов включается одним из следующих способов:

    • Включение ограниченного выделения ресурсов командой svcadm.


      # svcadm enable rcap
      
    • Для включения демона ограниченного выделения ресурсов с немедленным запуском и последующим включением при каждой загрузке системы необходимо ввести следующую команду:


      # rcapadm -E
      
    • Для включения демона ограниченного выделения ресурсов при каждой загрузке без немедленного запуска необходимо также указать параметр -n:


      # rcapadm -n -E
      

ProcedureОтключение демона ограниченного выделения ресурсов

Существует три способа отключения ограниченного выделения ресурсов в системе.

  1. Перейдите в режим суперпользователя или воспользуйтесь ролью, включающей в себя профиль управления процессами (Process Management).

    Профиль управления процессами входит в роль системного администратора (System Administrator). Для получения информации о создании роли и назначении роли пользователю см. раздел "Управление RBAC (карта задач)" в документе Руководство по системному администрированию: службы безопасности.

  2. Демон ограниченного выделения ресурсов отключается одним из следующих способов:

    • Отключение ограниченного выделения ресурсов командой svcadm.


      # svcadm disable rcap
      
    • Для отключения демона ограниченного выделения ресурсов с немедленной остановкой и отменой запуска при загрузке системы необходимо ввести следующую команду:


      # rcapadm -D
      
    • Для отключения демона ограниченного выделения ресурсов без немедленной остановки следует также указать параметр -n:


      # rcapadm -n -D
      

    Совет –

    Безопасное отключение демона ограниченного выделения ресурсов


    Для безопасного отключения демона rcapd используется команда svcadm или rcapadm с параметром -D. В случае остановки демона командой kill (см. справочную страницу kill(1)) процессы могут остаться в остановленном состоянии до их перезапуска вручную. Для возобновления работы процесса используется команда prun. Для получения дополнительной информации см. справочную страницу prun(1).

ProcedureНастройка временного ограничения ресурсов для зоны

Эта процедура предназначена для выделения максимального объема памяти, доступного для потребления указанной зоной. Значение остается действительным до ближайшей перезагрузки. Для настройки постоянно действующего ограничения используется команда zonecfg

  1. Перейдите в режим суперпользователя или воспользуйтесь ролью, включающей в себя профиль управления процессами (Process Management).

    Профиль управления процессами входит в роль системного администратора (System Administrator).

  2. Настройте для зоны my-zone ограничение памяти в размере 512 МБ.


    # rcapadm -z testzone -m 512M
    

Создание отчетов командой rcapstat

Для создания отчетов по статистике ограниченного выделения ресурсов используется команда rcapstat. Создание отчетов командой rcapstat описано в разделе Контроль использования ресурсов командой rcapstat . В этом разделе также описываются заголовки столбцов отчета. Эта информация также представлена на справочной странице rcapstat(1).

В следующих подразделах приводятся примеры создания отчетов в различных целях.

Создание отчетов об ограниченном использовании ресурсов и о проектах

В этом примере ограничения определены для двух проектов, связанных с двумя пользователями. Ограничение для user1 равно 50 Мб, а для user2 – 10 Мб.

Следующая команда создает пять отчетов с 5-секундным интервалом выборки.


user1machine% rcapstat 5 5
    id project  nproc     vm    rss   cap    at avgat    pg avgpg
112270   user1     24   123M    35M   50M   50M    0K 3312K    0K
 78194   user2      1  2368K  1856K   10M    0K    0K    0K    0K
    id project  nproc     vm    rss   cap    at avgat    pg avgpg
112270   user1     24   123M    35M   50M    0K    0K    0K    0K
 78194   user2      1  2368K  1856K   10M    0K    0K    0K    0K
    id project  nproc     vm    rss   cap    at avgat    pg avgpg
112270   user1     24   123M    35M   50M    0K    0K    0K    0K
 78194   user2      1  2368K  1928K   10M    0K    0K    0K    0K
    id project  nproc     vm    rss   cap    at avgat    pg avgpg
112270   user1     24   123M    35M   50M    0K    0K    0K    0K
 78194   user2      1  2368K  1928K   10M    0K    0K    0K    0K
    id project  nproc     vm    rss   cap    at avgat    pg avgpg
112270   user1     24   123M    35M   50M    0K    0K    0K    0K
 78194   user2      1  2368K  1928K   10M    0K    0K    0K    0K 

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

В последующих отчетах особой активности не наблюдается.

Контроль RSS проекта

В следующем примере показан проект user1, RSS которого превосходит ограничение.

Следующая команда создает пять отчетов с 5-секундным интервалом выборки.


user1machine% rcapstat 5 5

    id project  nproc    vm   rss   cap    at avgat     pg  avgpg
376565   user1      3 6249M 6144M 6144M  690M  220M  5528K  2764K
376565   user1      3 6249M 6144M 6144M    0M  131M  4912K  1637K
376565   user1      3 6249M 6171M 6144M   27M  147M  6048K  2016K
376565   user1      3 6249M 6146M 6144M 4872M  174M  4368K  1456K
376565   user1      3 6249M 6156M 6144M   12M  161M  3376K  1125K

Три процесса проекта user1 активно используют физическую память. Положительные значения в столбце pg указывают, что rcapd постоянно выполняет подкачку страниц памяти, пытаясь реализовать ограничение путем снижения потребления физической памяти процессами проекта. Однако демону rcapd не удается удержать RSS ниже порогового значения. На это указывают переменчивые значения rss, не отражающие соответствующего снижения. Сразу же после выполнения постраничного вывода памяти она снова используется рабочей нагрузкой, и счетчик RSS снова увеличивается. Это означает, что активно используется вся резидентная память проекта, и размер рабочего набора (WSS) превышает ограничение. Таким образом, для поддержания ограничения демону rcapd приходится выполнять постраничный вывод части рабочего набора. В этих условиях в системе будет по-прежнему наблюдаться высокая частота ошибок отсутствия страниц и связанная с этим высокая нагрузка на ввод/вывод, пока не будет выполнено одно из перечисленных ниже действий:

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


Примечание –

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


Определение размера рабочего набора проекта

Следующий пример служит продолжением предыдущего примера, и в нем используется тот же проект.

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


user1machine% rcapstat 5 5
    id project  nproc    vm   rss   cap    at avgat     pg  avgpg
376565   user1      3 6249M 6144M 6144M  690M    0K   689M     0K
376565   user1      3 6249M 6144M 6144M    0K    0K     0K     0K
376565   user1      3 6249M 6171M 6144M   27M    0K    27M     0K
376565   user1      3 6249M 6146M 6144M 4872K    0K  4816K     0K
376565   user1      3 6249M 6156M 6144M   12M    0K    12M     0K
376565   user1      3 6249M 6150M 6144M 5848K    0K  5816K     0K
376565   user1      3 6249M 6155M 6144M   11M    0K    11M     0K
376565   user1      3 6249M 6150M   10G   32K    0K    32K     0K
376565   user1      3 6249M 6214M   10G    0K    0K     0K     0K
376565   user1      3 6249M 6247M   10G    0K    0K     0K     0K
376565   user1      3 6249M 6247M   10G    0K    0K     0K     0K
376565   user1      3 6249M 6247M   10G    0K    0K     0K     0K
376565   user1      3 6249M 6247M   10G    0K    0K     0K     0K
376565   user1      3 6249M 6247M   10G    0K    0K     0K     0K
376565   user1      3 6249M 6247M   10G    0K    0K     0K     0K

В середине цикла ограничение для проекта user1 было увеличено с 6 ГБ до 10 ГБ. Это увеличение позволяет прекратить принудительное ограничение и нарастить размер резидентного набора, ограниченный только другими процессами и объемом памяти в компьютере. Столбец rss может стабилизироваться на размере рабочего набора проекта (WSS), в этом примере – 6247M. Это минимальное значение ограничения, позволяющее процессам проекта работать без постоянных ошибок отсутствия страниц.

Несмотря на то что для user1 установлено ограничение 6 Гб, в каждом 5-секундном интервале выборки RSS снижается, а ввод-вывод растет по мере постраничного вывода демоном rcapd части памяти рабочей нагрузки. Вскоре после завершения постраничного вывода задача, требующая наличия этих страниц для своей работы, выполняет обратный постраничный ввод. Цикл повторяется, пока ограничение не увеличивается до 10 Гб примерно в середине примера. RSS затем стабилизируется на 6,1 Гб. Поскольку RSS рабочей нагрузки теперь не превышает ограничение, подкачки страниц не происходит. Ввод-вывод, связанный с подкачкой страниц, также прекращается. Таким образом, для работы проекта в момент наблюдения требуется 6,1 Гб.

Также см. справочные страницы vmstat(1M) и iostat(1M).

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

Параметр -g команды rcapstat может использоваться для создания следующих отчетов:

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


# rcapstat -g
    id project   nproc    vm   rss   cap    at avgat   pg  avgpg
376565    rcap       0    0K    0K   10G    0K    0K   0K     0K
physical memory utilization: 55%   cap enforcement threshold: 0%
    id project   nproc    vm   rss   cap    at avgat   pg  avgpg
376565    rcap       0    0K    0K   10G    0K    0K   0K     0K
physical memory utilization: 55%   cap enforcement threshold: 0%