9

Там, где я работаю, мы работаем на относительно мощных ПК, использующих дистрибутив Debian Linux. Однако для определенных программ, которые нам нужно установить, было бы лучше иметь CentOS, и это были бы наши основные рабочие инструменты. Изменение ОС для всех компьютеров на нашем рабочем месте возможно, но мы пытаемся решить, является ли использование VirtualBox лучшим выбором для простоты.

Это все зависит от следующего пункта. Программы, которые нам нужно запустить, являются симуляторами, которые требуют очень много процессорных задач и могут легко запускаться до часа или более при каждом запуске симуляции. Нам нужно решить, достаточно ли велико снижение производительности при использовании Virtual Box, чтобы заслужить смену ОС.

Итак, мой вопрос: может ли кто-нибудь достоверно сказать мне, каково снижение производительности при выполнении задачи с интенсивным использованием процессора в виртуальной коробке по сравнению с выполнением ее на собственном ПК?

Благодарю.

3 ответа3

10

Для программ, ограничивающих число (сильно привязанных к процессору), производительность виртуальной машины должна быть практически нулевой. Инструкции выполняются непосредственно на процессоре, который одинаков для хоста и виртуальной машины.

Даже для серьезных задач компиляции разница в производительности едва заметна. Мы запускаем виртуальные машины CentOS в VMware под Windows.

Поскольку вы используете Linux на хосте, вы можете также рассмотреть KVM (виртуальную машину ядра) вместо VirtualBox. Это серия модулей ядра, предоставляющих сервисы виртуализации в Linux с использованием расширений виртуализации Intel VT-x, доступных на большинстве современных процессоров. QEMU использует KVM в качестве ускорителя для запуска кода x86 непосредственно на центральном процессоре хоста.

Просто установите virt-manager чтобы попробовать.

5

Нет ни одного хорошего ответа на это. Это во многом зависит от того, как вы используете виртуальную машину и от каких программ.

Например, использование VMWare (гипервизор типа 2) и программы с чисто привязкой к ЦП дало почти полную скорость ЦП. Если бы я использовал один и тот же гипервизор и программу с большим количеством системных вызовов, я бы серьезно замедлился.

И все также меняется, когда вы используете гипервизор типа 1 (без гостевой) ОС. И даже между ними у вас много вариаций. Например, Xen с 5 (IIRC из прошлых выходных FOSDEM talk on Xen) режимов, которые он поддерживает. От HW с использованием до виртуализации пара.

Подведем итоги: как и просили, оно может варьироваться от почти без замедления до серьезного замедления.


Теперь, если я сосредоточусь на VirtualBox, это гипервизор 2 типа. Чисто связанные с процессором программы должны быть в порядке.

4

На самом деле, похоже, что Docker может быть даже лучшим вариантом для того, что вы делаете. Docker предоставляет контейнеры, которые являются изолированной изолированной программной средой, работающей на том же ядре. Затраты на системный вызов / ввод-вывод равны нулю, поскольку процессы в контейнере ничем не отличаются от процессов на хосте.

Поскольку вы уже используете Linux, Docker был бы отличным способом предоставить среду CentOS без переустановки всех ваших машин.

Также ознакомьтесь с моей утилитой Scuba, которая позволяет легко запускать такие вещи, как сборки внутри контейнера Docker. Вместо того, чтобы бегать make вы запускаете scuba make . Это все!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .