Оперативная память

Прозрачные большие страницы (THP)

Определение

Прозрачные большие страницы (THP) — механизм Linux, который автоматически использует страницы памяти крупнее обычных. Отдельный пул HugeTLB не нужен; результат зависит от настроек, типа памяти и доступных ресурсов.

Также ищут: THP · Transparent Huge Pages · Transparent Hugepage Support · mTHP

Зачем это знать

Разрешить THP — не то же самое, что выдать приложению большие страницы. Проверяйте фактические выделения и размер страниц. Затраты на уплотнение памяти, когда ядро перемещает страницы ради свободного непрерывного участка, могут повлиять на задержки приложения.

Связи из словаря

Карта понятия

Прозрачные большие страницы (THP)
Доказательная часть

Что подтверждено

  1. THP поддерживает автоматическое увеличение и уменьшение размера страниц без предварительного резервирования пула HugeTLB. В описанной версии механизм работает с анонимными отображениями и tmpfs/shmem.

    Граница применимости: Objective документации Linux 6.12; поддержка других файловых систем здесь не утверждается.

  2. Linux поддерживает mTHP — большие страницы нескольких размеров. Среди них есть страницы крупнее базовой, но меньше традиционной страницы уровня PMD в таблице страниц. Набор размеров зависит от системы.

    Граница применимости: Objective и Global THP controls, Linux 6.12; примеры размеров в документе не считаются универсальными.

  3. AnonHugePages в /proc/meminfo и /proc/PID/smaps учитывает анонимные THP, отображённые на уровне PMD в таблице страниц. Это не общий счётчик всех размеров mTHP; для размеров есть отдельные каталоги статистики.

    Граница применимости: Monitoring usage, Linux 6.12; отдельный каталог stats каждого размера находится в /sys/kernel/mm/transparent_hugepage.

  4. Счётчик thp_fault_fallback увеличивается, когда при обработке исключения не удаётся выделить или учесть большую страницу и вместо неё используются малые страницы.

    Граница применимости: Monitoring usage, Linux 6.12; счётчик событий не является текущим объёмом памяти или числом отказавших DIMM.

  5. В режиме defrag=always приложение при неудаче выделения THP может задержаться, пока ядро освобождает и уплотняет память. Документация не гарантирует, что выигрыш от больших страниц окупит эти затраты.

    Граница применимости: Global THP controls, Linux 6.12; речь о политике defrag, а не о безусловной задержке каждого обращения к памяти.

Перед спецификацией

Что проверить

  1. Разделяйте настройки THP и отдельный пул HugeTLB.
  2. Уточните поддерживаемые размеры и область каждого счётчика.
  3. Не принимайте нулевой AnonHugePages за отсутствие всех вариантов THP.
  4. Сравните задержки, расход памяти и счётчики выделения на одной и той же нагрузке.
Открытые основания

Первоисточники

  • Документация1
  • Официальная документация
    Transparent Hugepage Support Linux Kernel · Linux 6.12 documentation · проверено

    THP и mTHP, область AnonHugePages, thp_fault_fallback и возможные задержки при уплотнении памяти. Режим работы конкретного сервера не проверялся.

Следующий шаг

Сформулируйте задачу и уточните требования к своей системе.

Подготовить подбор с Делектусом

Откроется черновик вопроса. Отправьте его, когда будете готовы.

Сообщить об ошибке

Опишите проблему — постараемся исправить как можно скорее.

Спасибо!

Получили ваше сообщение.
Подтвердите действие