» » » Борьба за ресурсы, часть 3: Памяти мало не бывает

 

Борьба за ресурсы, часть 3: Памяти мало не бывает

Автор: admin от 11-10-2018, 12:35, посмотрело: 14

Продолжаем изучать Control Groups (Cgroups) в Red Hat Enterprise Linux 7. Займемся памятью. Вы помните, что для распределения процессорного времени есть две регулировки: CPUShares для настройки относительных долей и CPUQuota для того, чтобы ограничивать пользователя, службу или виртуальную машину (ВМ) в абсолютных величинах (процентах) процессорного времени. Причем, обе эти регулировки можно использовать одновременно. Например, если для пользователя задана CPU-квота в 50 %, то его CPU-шара тоже будет приниматься во внимание до тех пор, пока он полностью не выберет свою квоту в 50 % процессорного времени.



Борьба за ресурсы, часть 3: Памяти мало не бывает



Что касается оперативной памяти, то systemd предлагает только один способ регулировки, а именно…

access.redhat.com/solutions/46199).



Вот какой сценарий мы создадим в папке /usr/local/bin:



Борьба за ресурсы, часть 3: Памяти мало не бывает

А затем добавим его вызов в последнюю строку /etc/pam.d/sshd. В результате, этот сценарий будет запускаться при каждом входе пользователя через ssh. Именно поэтому мы и проверяем в сценарии, что это пользователь mrichter, прежде чем менять настройки.



Борьба за ресурсы, часть 3: Памяти мало не бывает

Итак, мы отрезали пользователя mrichter от файла подкачки.



Борьба за ресурсы, часть 3: Памяти мало не бывает

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



А со службами все еще проще. В юнит-файле службы можно использовать директиву ExecStartPost=, чтобы запускать сценарий, меняющий настройки. Например, вот как надо изменить юнит-файл службы foo, чтобы выключить свопинг:



Борьба за ресурсы, часть 3: Памяти мало не бывает

Запускаем foo – и никакого свопинга:



Борьба за ресурсы, часть 3: Памяти мало не бывает

Ладно, на сегодня, пожалуй, хватит с нас этого шаманства.



Но прежде чем закончить, давайте остановимся на документации по cgroup, в которой можно найти информацию обо всех этих скрытых настройках регуляторов. Вы можете установить пакет kernel-doc на свой компьютер, как это сделал я, загрузив его из репозитория «rhel-7-server-rpms».



Борьба за ресурсы, часть 3: Памяти мало не бывает

После установки откройте папку /usr/share/docs, соответствующую вашему ядру, и перейдите в папку cgroups, где и содержится последняя информация по всем регуляторам.



Борьба за ресурсы, часть 3: Памяти мало не бывает

В следующем раз мы поговорим о вводе-выводе. И, кстати, мы уже почти подошли к тому, чтобы узнать, как cgroups привели к появлению контейнеров (на самом деле cgroups – это ключевой компонент контейнеров в Red Hat Enterprise Linux и Red Hat OpenShift Container Platform).


Источник: Хабр / Интересные публикации

Категория: Linux

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Добавление комментария

Имя:*
E-Mail:
Комментарий:
Полужирный Наклонный текст Подчеркнутый текст Зачеркнутый текст | Выравнивание по левому краю По центру Выравнивание по правому краю | Вставка смайликов Выбор цвета | Скрытый текст Вставка цитаты Преобразовать выбранный текст из транслитерации в кириллицу Вставка спойлера
Введите два слова, показанных на изображении: *