У меня новая 8-ядерная машина с 16 ГБ оперативной памяти. Я хочу запустить на нем виртуальные машины, используя Ubuntu и KVM. На хосте не будет работать ничего, кроме SSH.
Мой вопрос в том, что такое максимум количество ядер и оперативной памяти, которые я могу использовать для виртуальных машин. Могу ли я создать 4 виртуальных машины и назначить каждой по 2 ядра и 4 ГБ ОЗУ? Возникнут ли проблемы с такой настройкой в ОС хоста?
Другими словами, что такое минимум количество ядер и ОЗУ, необходимое хосту для запуска виртуальных машин? Достаточно ли 1 ядра и 1 ГБ ОЗУ для запуска виртуальных машин.
максимума как такового нет, как и реального максимума памяти. Следует иметь в виду следующее:
Что касается распределения ОЗУ, здесь в основном те же мысли:
Итак, сказав это, вам необходимо учитывать, что абсолютно необходимо вашим виртуальным машинам (не просто давайте виртуальной машине 4 ядра, потому что вы можете, дайте ей минимум, необходимый для запуска, и добавьте больше позже, если вы заметите проблемы с производительностью).
Будьте осторожны с распределением памяти - вы никогда не захотите попасть в подкачку.
В дополнение к соображениям, которые рассмотрел @dyasny, вам также необходимо учитывать, сколько сокетов имеется на вашем хосте.
Если у вас есть 2-сокетная 4-ядерная установка, вы не хотите выделять слишком много ядер для каждой виртуальной машины, поскольку ваша производительность может пострадать, если виртуальной машине необходимо взаимодействовать через основную память.
Я раньше сталкивался с этой проблемой, но YMMV. Проверьте свою настройку.
Накладные расходы на хост-систему составляют несколько сотен МБ, вы можете проверить их сразу при загрузке с помощью бесплатной команды.
В любом случае лучше оставить некоторую свободную память для буферов ввода-вывода. Если вы используете похожую виртуальную машину, обратите внимание на KSM, чтобы оптимизировать использование памяти.