Во-первых: распределение оперативной памяти всегда находится под окончательным контролем операционной системы хоста.
Помимо этого, это зависит.
С помощью простого гипервизора вы просто сообщаете гипервизору, сколько оперативной памяти получает каждая виртуальная машина. Этот объем вычитается из доступной оперативной памяти вашей хост-системы, когда виртуальная машина запускается и "используется" гипервизором, пока она работает. Операционная система, работающая на виртуальной машине, работает как всегда, выделяя оперативную память процессам и операционным системам. Старый Microsoft "Virtual PC", который широко использовался для запуска "XP Mode" в Windows 7, работает таким образом. VirtualBox тоже. В обоих случаях, если вы сконфигурируете виртуальную машину на 1 ГБ ОЗУ и запустите ее, у вашего хоста внезапно будет на 1 ГБ меньше "доступной" ОЗУ. Обычно он не очень эффективен в использовании ОЗУ, но прост в реализации.
При использовании более сложного гипервизора объем, выделяемый виртуальной машине, является просто верхним пределом. Гостевая ОС видит столько ОЗУ как "общее", но за кулисами часть или даже большая часть того, что гость думает о том, что ОЗУ может быть виртуальной, насколько это касается хоста. Это особенно верно в отношении того, что Windows называет "свободной" или "нулевой" ОЗУ в гостевой системе - поскольку у нее нет интересующего контента, нет необходимости хранить ее где-либо. Но даже оперативная память, которую гость считает "используемой", может быть виртуальной на хосте с содержимым в файле подкачки или в отображенном файле.
Гостевая ОС продолжает обрабатывать ОЗУ, как и всегда, но если гостевая ОС ссылается на часть этой ОЗУ, которой еще нет, гипервизор может выделить гостевой памяти больше фактической ОЗУ. (Другими словами, ссылка на память, которая, кажется, работает без ошибки страницы в гостевой системе, может вызвать ошибку страницы в хосте.) В пределах общего объема доступной оперативной памяти и настроенных пределов гипервизор регулирует объем оперативной памяти, который находится "в" гостевой ОС, чтобы попытаться сохранить низкий уровень ошибок страниц на узле.
Это обычно называется "тонкой подготовкой". Это более сложно реализовать в гипервизоре, но приводит к более эффективному использованию оперативной памяти хоста.