Настройка памяти для виртуальных машин
Для оптимизации использования памяти виртуальными машинами Кибер Инфраструктура использует технологию ядра Linux - Kernel Same-page Merging (KSM). Служба KSM периодически проверяет память на наличие страниц с одинаковым содержимым и объединяет их в одну страницу. Такая страница помечается как страница для копирования при записи (CoW), и, когда виртуальной машине необходимо изменить содержимое этой страницы, ядро создает копию страницы для виртуальной машины, а ВМ изменяет содержимое копии. Данная технология позволяет использовать перераспределение памяти и избегать использования пространства для подкачки, когда много похожих задач выполняются на одном и том же сервере. Однако настоятельно рекомендуется настроить пространство для подкачки при включении перераспределения памяти.
Кроме того, виртуальные машины, запущенные на сервере, привязаны к узлам NUMA, чтобы процессы виртуальных машин находились как можно ближе к памяти, к которой они обращаются. Когда разница в нагрузке на узлы NUMA превышает 50 %, происходит перебалансировка размещенных ВМ с учетом объема ОЗУ и количества ядер ЦП, которые они потребляют.
Чтобы настроить объем памяти, выделяемой виртуальным машинам, установите коэффициент перераспределения ОЗУ. Коэффициент представляет собой соотношение максимального объема зарезервированной памяти к объему физической памяти. По умолчанию это соотношение равно 1. Это означает, что нельзя выделить объем памяти, превышающий общий объем физической памяти на всех вычислительных узлах. Увеличивая коэффициент, можно увеличить количество виртуальных машин, запущенных на вычислительном узле, за счет снижения их производительности. Рекомендуемый максимальный коэффициент перераспределения равен 1,5.
Перераспределение памяти для виртуальных машин доступно, только если на всех вычислительных узлах достаточно места для подкачки. Прежде чем включить эту функцию, рассчитайте необходимое пространство для подкачки и настройте его на каждом узле.