Red Hat Training

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

5.2. Увеличение размера страниц

Стандартный размер страницы памяти — 4096 байт. Таким образом 1 мегабайт содержит 256 страниц, 1 гигабайт — 256 тысяч страниц и т.п. Процессоры включают встроенный модуль управления памятью, который содержит полный список страниц, каждой из которых соответствует запись в таблице.
Существует два основных способа управления большими объемами памяти:
  • увеличение числа записей в модуле управления памятью;
  • увеличение размера страниц.
Первый метод является довольно дорогим, так как аппаратные модули управления памятью поддерживают всего лишь тысячи записей. Алгоритмы, справляющиеся с обработкой тысяч страниц (что исчисляется мегабайтами), теряют эффективность при работе с миллионами и даже миллиардами страниц. Если приложение требует больше страниц памяти, чем поддерживается аппаратно, то управление страницами передается программным механизмам, что существенно замедляет работу системы.
Red Hat Enterprise Linux 6 использует второй метод.
Так называемые большие страницы (hugepages) представляют собой сегменты памяти размером 2 МБ или 1 ГБ. Первый размер подходит для управления гигабайтами памяти, а второй — терабайтами.
Страницы большого размера должны быть назначены во время загрузки. Управлять ими вручную не рекомендуется, но для эффективной работы они могут требовать значительной модификации кода. С этой задачей можно успешно справиться с помощью так называемых «прозрачных страниц» (THP, transparent huge pages). THP добавляет дополнительный уровень абстракции, облегчающий и автоматизирующий управление большими страницами.
THP скрывает комплексную функциональность страниц от администраторов и разработчиков. Функции THP тщательно тестировались и оптимизировались разработчиками сообщества и самой компании Red Hat для разных приложений, уровней нагрузки, конфигураций и архитектур. Поэтому стандартной конфигурации THP обычно должно быть достаточно.
В настоящее время возможности THP поддерживаются только для анонимной памяти кучи и стека.