Поддержка 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 всех размеров.