Как распределяются ресурсы при виртуализации?
Это очень тонкий вопрос.
То, что виртуальная машина будет использовать половину памяти -- это неверно. Всю память, которую ей будет разрешено использовать, она использует. Другой вопрос, как конкретно она это будет делать (точнее, под какие цели). Например, если у вас 8 гигов оперативы, а приложениям нужно всего 4, то это не значит, что система будет использовать всего 4 Гб. Просто остальные 4 Гб, которые не нужны приложениями, будут заняты под  другие цели -- под дисковый кэш, например. Или под кэш страниц памяти (standby memory в Windows -- когда освобождённые приложением страницы реально не освобождаются, а хранятся в памяти. И если освободившее страницу приложение опять захочет внезапно запросить память, то ему будет выделена уже существующая страница).
Также нужно понимать, что у гипервизора есть средства аппетиты машины умерить. Например, такие механизмы, как balooning. Т. е. если память, которую гостевая система отвела под какие-то свои нужды, резко потребуется другой виртуальной машине, то гипервизор через специальный драйвер надует baloon, и отберёт часть памяти у одной гостевой машины, чтобы отдать его другим.
Иными словами -- если у вас 8 Гб, а вы выделили машине 16 Гб, то работать оно будет. Ровно до тех пор, пока ваши гостевые виртуалки не захотят РЕАЛЬНО использовать более 8 Гб оперативки. Когда захотят -- всё будет как всегда, т. е. сброс страниц в дисковый кэш, дикие тормоза и всё такое прочее.
Зависит от настроек самого гипервизора (ос), ну а своп в вм-это уже от ос в вм, умеет ли и как реализует
ps. vmware не даст создать вм с памятью больше чем есть на самом деле.
pss. у вм могут быть настройки лимитирования и резервирования ресурсов