Прозрачные большие страницы (THP)
Определение
Прозрачные большие страницы (THP) — механизм Linux, который автоматически использует страницы памяти крупнее обычных. Отдельный пул HugeTLB не нужен; результат зависит от настроек, типа памяти и доступных ресурсов.
Также ищут: THP · Transparent Huge Pages · Transparent Hugepage Support · mTHP
Зачем это знать
Разрешить THP — не то же самое, что выдать приложению большие страницы. Проверяйте фактические выделения и размер страниц. Затраты на уплотнение памяти, когда ядро перемещает страницы ради свободного непрерывного участка, могут повлиять на задержки приложения.
Карта понятия
Что подтверждено
THP поддерживает автоматическое увеличение и уменьшение размера страниц без предварительного резервирования пула HugeTLB. В описанной версии механизм работает с анонимными отображениями и tmpfs/shmem.
Граница применимости: Objective документации Linux 6.12; поддержка других файловых систем здесь не утверждается.
Linux поддерживает mTHP — большие страницы нескольких размеров. Среди них есть страницы крупнее базовой, но меньше традиционной страницы уровня PMD в таблице страниц. Набор размеров зависит от системы.
Граница применимости: Objective и Global THP controls, Linux 6.12; примеры размеров в документе не считаются универсальными.
AnonHugePages в /proc/meminfo и /proc/PID/smaps учитывает анонимные THP, отображённые на уровне PMD в таблице страниц. Это не общий счётчик всех размеров mTHP; для размеров есть отдельные каталоги статистики.
Граница применимости: Monitoring usage, Linux 6.12; отдельный каталог stats каждого размера находится в /sys/kernel/mm/transparent_hugepage.
Счётчик thp_fault_fallback увеличивается, когда при обработке исключения не удаётся выделить или учесть большую страницу и вместо неё используются малые страницы.
Граница применимости: Monitoring usage, Linux 6.12; счётчик событий не является текущим объёмом памяти или числом отказавших DIMM.
В режиме defrag=always приложение при неудаче выделения THP может задержаться, пока ядро освобождает и уплотняет память. Документация не гарантирует, что выигрыш от больших страниц окупит эти затраты.
Граница применимости: Global THP controls, Linux 6.12; речь о политике defrag, а не о безусловной задержке каждого обращения к памяти.
Что проверить
- Разделяйте настройки THP и отдельный пул HugeTLB.
- Уточните поддерживаемые размеры и область каждого счётчика.
- Не принимайте нулевой AnonHugePages за отсутствие всех вариантов THP.
- Сравните задержки, расход памяти и счётчики выделения на одной и той же нагрузке.
Первоисточники
- Transparent Hugepage Support
THP и mTHP, область AnonHugePages, thp_fault_fallback и возможные задержки при уплотнении памяти. Режим работы конкретного сервера не проверялся.
Связанные понятия
Курсы по теме
Следующий шаг
Сформулируйте задачу и уточните требования к своей системе.
Подготовить подбор с ДелектусомОткроется черновик вопроса. Отправьте его, когда будете готовы.