В вычислительной технике раздувание памяти — это метод, который применяется для устранения необходимости чрезмерного выделения памяти хоста, используемой виртуальными машинами (ВМ), позволяя каждой ВМ эффективно «отдавать» неиспользуемые страницы [виртуальной] памяти.
Для реализации раздувания памяти ядро виртуальной машины реализует « драйвер раздувания », который выделяет неиспользуемую память в адресном пространстве виртуальной машины в пул памяти («воздушный шар»), что делает эту память недоступной для других процессов на этой виртуальной машине. Драйвер раздувания не использует пул памяти; вместо этого он сообщает гипервизору операционной системы хоста , какие адреса памяти находятся в этом пуле (неиспользуемые). Затем операционная система хоста отменяет сопоставление физической памяти с этими страницами памяти (без необходимости копировать их во вторичное хранилище). Освобожденные страницы физической памяти возвращаются в пул доступной оперативной памяти хост-машины, и хост-машина может использовать их для хранения других виртуальных машин в физической памяти и/или для кэширования вторичного хранилища.
В зависимости от объема памяти, необходимого приложениям, работающим на виртуальной машине, драйвер Balloon внутри виртуальной машины может динамически уменьшать или увеличивать количество страниц в своем «баллоне», заставляя хост-компьютер переназначать или отменять сопоставление физической памяти виртуальной машине по мере необходимости. [1] [2]