Там, где я работаю, мы работаем на относительно мощных ПК, использующих дистрибутив Debian Linux. Однако для определенных программ, которые нам нужно установить, было бы лучше иметь CentOS, и это были бы наши основные рабочие инструменты. Изменение ОС для всех компьютеров на нашем рабочем месте возможно, но мы пытаемся решить, является ли использование VirtualBox лучшим выбором для простоты.
Это все зависит от следующего пункта. Программы, которые нам нужно запустить, - это симуляторы, которые требуют очень много процессорных задач и могут легко запускаться до часа и более при каждом запуске симуляции. Нам необходимо решить, достаточно ли велико снижение производительности при использовании Virtual Box, чтобы оправдать нашу смену ОС.
Итак, мой вопрос: может ли кто-нибудь достоверно сказать мне, каково снижение производительности при выполнении задачи с интенсивным использованием процессора в виртуальной коробке по сравнению с выполнением ее на собственном ПК?
Спасибо.
источник
Нет ни одного хорошего ответа на это. Это во многом зависит от того, как вы используете виртуальную машину и от каких программ.
Например, использование VMWare (гипервизор типа 2) и программы с чисто привязкой к ЦП дало почти полную скорость ЦП. Если бы я использовал один и тот же гипервизор и программу с большим количеством системных вызовов, я бы серьезно замедлился.
И все также меняется, когда вы используете гипервизор типа 1 (без гостевой) ОС. И даже между ними у вас много вариаций. Например, Xen с 5 (IIRC из прошлых выходных FOSDEM talk on Xen) режимов, которые он поддерживает. От HW с использованием до виртуализации пара.
Подведем итоги: как и просили, оно может варьироваться от почти без замедления до серьезного замедления.
Теперь, если я сосредоточусь на VirtualBox, это гипервизор 2 типа. Чисто связанные с процессором программы должны быть в порядке.
источник
На самом деле, похоже, что Docker может быть даже лучшим вариантом для того, что вы делаете. Docker предоставляет контейнеры, которые являются изолированной изолированной программной средой, работающей на том же ядре. Затраты на системный вызов / ввод-вывод равны нулю, поскольку процессы в контейнере ничем не отличаются от процессов на хосте.
Поскольку вы уже используете Linux, Docker будет отличным способом обеспечить среду CentOS без переустановки всех ваших машин.
Также ознакомьтесь с моей утилитой Scuba, которая позволяет легко запускать такие вещи, как сборки внутри контейнера Docker. Вместо того, чтобы бежать,
make
ты бежалscuba make
. Это все!источник