HugeTLB
Определение
HugeTLB — механизм Linux, при котором приложения явно запрашивают большие страницы из отдельного запаса памяти — пула. Подготовленный пул ещё не означает, что приложение его использует.
Также ищут: HugeTLB pages · пул больших страниц Linux
Зачем это знать
Память пула HugeTLB недоступна для обычных выделений и не выгружается в подкачку. При расчёте RAM разделяйте общий пул, ещё не выданные страницы и уже обещанные приложению. Одного числа свободных страниц недостаточно.
Карта понятия
Что подтверждено
Приложение использует HugeTLB через соответствующие интерфейсы mmap или разделяемой памяти. Наличие подготовленного пула само по себе не означает, что приложение его использует.
Граница применимости: Overview и Using Huge Pages, Linux 6.12; конкретные параметры приложения проверяются отдельно.
Страницы, выделенные под HugeTLB, зарезервированы внутри ядра, недоступны для других целей и не выгружаются в подкачку при нехватке памяти.
Граница применимости: HugeTLB Pages, Linux 6.12; это правило HugeTLB, а не всех видов больших страниц.
HugePages_Free показывает ещё не выделенные страницы пула. HugePages_Rsvd показывает страницы, выделение которых уже обещано, но ещё не произошло; эти величины не означают два независимых свободных запаса.
Граница применимости: Поля /proc/meminfo для HugeTLB-страниц размера по умолчанию, Linux 6.12.
Успех выделения HugeTLB зависит от наличия подходящих непрерывных участков физической памяти в момент запроса. Большой суммарный свободный объём не заменяет эту проверку.
Граница применимости: Динамическое выделение HugeTLB в Linux 6.12; параметры пула на сервере не изменялись.
HugePages_Total и Hugepagesize в /proc/meminfo относятся к размеру HugeTLB-страницы по умолчанию. Поле Hugetlb учитывает память страниц всех размеров, поэтому произведение первых двух значений не всегда даёт полный объём.
Граница применимости: Overview, Linux 6.12; детальные пулы по размерам представлены в /sys/kernel/mm/hugepages.
Что проверить
- Проверьте, запрашивает ли приложение HugeTLB, а не только наличие пула.
- Рассматривайте HugePages_Free и HugePages_Rsvd совместно.
- Сверьте размер страницы и распределение пула по NUMA-узлам.
- Оставьте память для ОС и других приложений вне пула HugeTLB.
Первоисточники
- HugeTLB Pages
Пул HugeTLB, поля meminfo, резервирование, отсутствие подкачки и зависимость выделения от непрерывной физической памяти. Команды изменения настроек не выполнялись.
Связанные понятия
Курсы по теме
Следующий шаг
Сформулируйте задачу и уточните требования к своей системе.
Подготовить подбор с ДелектусомОткроется черновик вопроса. Отправьте его, когда будете готовы.