12. Ядро

12. Ядро

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

12.1.1. Контрольные группы

Контрольные группы являются новой функцией ядра Linux, впервые представленной в Red Hat Enterprise Linux 6. Контрольная группа включает набор заданий, организованных таким образом для облегчения взаимодействия с оборудованием системы. Так, например, можно отслеживать использование системных ресурсов каждой группой. В то же время новый набор пользовательских инструментов позволяет разрешить или запретить доступ групп к ресурсам памяти, процессора, сети, ввода/вывода. За управление контрольными группами в пространстве пользователя отвечает libcgroup, что позволяет создавать новые контрольные группы, запускать процессы в группах и изменять параметры групп.

Примечание

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

12.2. Масштабируемость

12.2.1. Планировщик CFS

В роли планировщика процессов или заданий выступает подсистема ядра, которая отвечает за порядок передачи процессов для обработки процессору. В ядре 2.6.32 в Red Hat Enterprise Linux 6 использовавшийся ранее планировщик O(1) заменен на CFS (Completely Fair Scheduler), в основу которого положен алгоритм равномерной очередности.

12.2.2. Масштабируемость виртуальной памяти

Виртуальная память реализуется на уровне ядра и представляет приложениям память в виде непрерывного блока, в то время как в действительности структура памяти может быть довольно сложной, с фрагментацией и размещением некоторых страниц на отдельных устройствах. Адреса виртуальной памяти хранятся в виде страниц. Расширенные возможности управления страницами виртуальной памяти в Red Hat Enterprise Linux 6 уменьшают нагрузку при работе с большими объемами физической памяти.

12.3. Регистрация ошибок

12.3.1. AER

Ядро Red Hat Enterprise Linux 6 включает новые возможности создания расширенного отчета об ошибках (ARP, Advanced Error Reporting) для PCI-Express.

12.3.2. Автоматическая активация Kdump

В системах с большим объемом памяти kdump будет использоваться по умолчанию. Так, kdump будет включаться по умолчанию:
  • в системах с более 4 ГБ памяти, где размер страниц равен 4 КБ (обычно на платформах x86 и x86_64) или
  • в системах с с более 8 ГБ памяти, где размер страниц превышает 4 КБ (на платформах PPC64).

12.4. Управление энергопотреблением

12.4.1. ALPM

Ядро Red Hat Enterprise Linux 6 поддерживает механизм ALPM (Aggressive Link Power Management), позволяющий экономить потребление энергии за счет перевода интерфейса SATA в энергосберегающий режим в периоды отсутствия запросов ввода/вывода. При поступлении запросов ALPM автоматически переведет SATA в активное состояние.

12.4.2. Безтактовое ядро

Раньше ядро Linux периодически опрашивало каждый процессор с заданной частотой на предмет запросов обработки. Подобные прерывания осуществлялись независимо от режима энергосбережения процессора, поэтому даже бездействующий процессор отвечал на множество таких запросов каждую секунду. Ядро Red Hat Enterprise Linux 6 является безтактовым, то есть вместо периодических прерываний оно осуществляет прерывания при необходимости. Таким образом, бездействующим процессорам не требуется возвращаться в рабочий режим до тех пор, пока они не получат задания для выполнения.

12.5. Анализ производительности ядра

12.5.1. Счетчик производительности для Linux

Подсистема PCL (Performance Counter for Linux) позволяет анализировать производительность оборудования, исходя из информации о числе выполненных инструкций, промахах кэша и пр. Можно использовать счетчик для отдельной задачи или процессора, а также добавлять дополнительные события. Полученную информацию можно в дальнейшем использовать для анализа производительности и организации функций и событий ядра.

12.5.2. Ftrace и perf

Эти программы используются для анализа производительности ядра в Red Hat Enterprise Linux 6. Ftrace строит диаграмму вызовов, а perf ведет протокол событий оборудования.

12.6. Общие обновления ядра

12.6.1. Расширение физических адресов

Возможности расширения физических адресов (PAE, Physical Address Extension) современных процессоров x86 позволяют адресовать более 4 гигабайт оперативной памяти. Стандартное ядро архитектуры x86 в Red Hat Enterprise Linux 6 по умолчанию использует PAE. Наличие функций PAE является требованием для установки Red Hat Enterprise Linux 6 для x86.

12.6.2. Загружаемые драйверы

Файлы микропрограмм, для которых нет лицензированного исходного кода, были исключены из ядра Red Hat Enterprise Linux 6. Теперь они будут запрашиваться из пространства пользователя.