Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

Глава 4. Управление ресурсами

Ограничение процессорных ресурсов

Равномерный планировщик CFS (Completely Fair Scheduler) в ядре Linux распределяет процессорное время между группами задач исходя из приоритета. При наличии бездействующих циклов процессора группа задач может получить больше времени, чем ей было изначально предназначено.

Ниже перечислены сценарии, когда предоставление дополнительных ресурсов недопустимо.
Оплата по мере использования
В системах, обслуживающих большое количество пользователей, провайдер выделяет виртуальным гостям фиксированную часть процессорного времени исходя из предоставляемого им уровня обслуживания.
Уровни гарантированного обслуживания
Пользователь запрашивает процентную часть ресурсов процессора без необходимости прерывания обслуживания виртуальных гостей.
В этих случаях планировщик должен принудительно остановить потребление группой процессорных ресурсов при превышении выделенного лимита.
Функции принудительного ограничения процессорных ресурсов предоставляются планировщиком в Xen и VMware ESX.
Масштабирование контрольных групп процессоров в системах SMP

libvirt позволяет создать контрольные группы для гостевых систем. Раньше увеличение числа контрольных групп в больших системах SMP приводило к снижению производительности, но в Red Hat Enterprise Linux 6.2 можно одновременно создать сотни групп, и производительность не пострадает.

В /proc добавлен параметр dd sysctl_sched_shares_window, значение которого по умолчанию равно 10 миллисекундам.
Улучшена производительность контроллера ввода-вывода контрольных групп

Уменьшено использование блокировок в пределах контроллера ввода-вывода, что повышает производительность. Дополнительно поддерживается статистика для отдельных групп.

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

Затраты массива page_cgroup на выделение памяти уменьшены на 37%. С целью улучшения производительности контроллера также удален указатель page_cgroup-to-page.

Исходное значение group_isolation

Исходное значение переменной group_isolation в /sys/block/<device>/queue/iosched/group_isoaltion теперь равно 1. Старое значение 0 означало, что все случайные очереди ввода-вывода добавлялись в контрольную группу root, а не в ту группу, которой принладлежало приложение.

Примечание

Руководство по управлению системными ресурсами содержит подробную информацию о контрольных группах.