Поддержка HugePages

HugePages — это механизм управления памятью в операционных системах, который позволяет использовать большие страницы памяти (несколько Мб) вместо стандартных маленьких (4 Кб). Это позволяет уменьшить накладные расходы, увеличить производительность и более эффективно использовать ресурсы в ресурсоёмких задачах.

Механизм HugePages включается и настраивается средствами операционной системы вычислительного узла. Все вычислительные узлы в регионе KeyStack должны быть настроены одинаково: либо только на стандартном способе выделения памяти, либо использовать HugePages. DRS определяет, включён ли механизм HugePages по метаданным флейворов в регионе. Если в регионе обнаруживаются смешанные флейворы (с и без HugePages), то будет выдаваться ошибка.

Для указания во флейворе размера HugePages используйте параметр hw:mem_page_size. Пример команды OpenStack CLI:

$ openstack flavor set m1.large --property hw:mem_page_size=2MB

Более подробно смотрите в документации OpenStack.

При включённом механизме данные по HugePages отображаются в метриках Prometheus в группе метрик node_memory:

  • HugePages_Free — общее количество страниц HugePages, доступное в системе.

  • HugePages_Rsvd — количество неиспользуемых страниц HugePages, зарезервированных для hugetlbfs.

  • HugePages_Surp — количество избыточных страниц HugePages.

  • HugePages_Total — общее количество страниц HugePages в системе.

  • Hugepagesize_bytes — размер каждой единицы HugePages в байтах.

  • Hugetlb_bytes — общий объём памяти, используемый страницами HugePages всех размеров.