Программирование под виртуальной машиной - плюсы и минусы - PullRequest
15 голосов
/ 30 июля 2010

Я пользователь Ubuntu Linux и использую Win XP только для своих рабочих целей.

В последнее время я установил виртуальную машину с XP + Visual Studio 2008 (на платформе kvm-quemu).

Мои вопросы:

  • Естькто-нибудь пытался эффективно работать в среде, установленной на ВМ?Есть ли проблемы с производительностью?Например, немного ли хуже производительность под ВМ влияет на вашу нормальную эффективность?

  • Есть ли другие (помимо производительности) негативные аспекты разработки программного обеспечения под ВМ?Есть ли проблемы, которые я не смог бы обнаружить / решить в такой среде?(речь идет о разработке какого-то более крупного проекта, создании приложения для среды Win, без аппаратного или встроенного) .

Ответы [ 6 ]

14 голосов
/ 30 июля 2010

Я делаю всю свою клиентскую работу на виртуальных машинах и большую часть своей хобби - на виртуальных машинах. Операционная система хоста - Windows 7, и если у моего клиента нет других предпочтений, я использую очень хороший VirtualBox.

У меня умеренно мощный ноутбук, который поддерживает аппаратную виртуализацию, и, независимо от того, работаю ли я под управлением ОС Linux или Windows XP, производительность не кажется для меня ограничивающим фактором. Одним из важных методов предотвращения снижения производительности является наличие диска виртуальной машины на другом шпинделе, чем основной жесткий диск моих компьютеров. Я использую внешний жесткий диск USB 2. Прекрасно работает.

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

3 голосов
/ 30 июля 2010

Две самые неприятные вещи при использовании среды разработки под виртуальной машиной

  • ваша виртуальная машина получает только часть основной памяти вашей хост-системы

  • если вам нужно перезагрузить хост, вам придется ждать хоста и , пока виртуальная машина не перезагрузится

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

1 голос
/ 30 июля 2010

Я регулярно занимаюсь разработкой и тестированием с использованием сред разработки, работающих под управлением VMWare Workstation и VirtualBox. Если у вас довольно громоздкая рабочая станция, вы не увидите слишком большого снижения производительности. Единственный раз, когда у меня возникали проблемы, это когда я запускал много (5+) экземпляров Visual Studio на виртуальной машине или более двух или трех виртуальных машин в одной системе.

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

1 голос
/ 30 июля 2010

Я пользователь Win7, но моя компания (я работаю удаленно) использует Windows XP, и все машины, которые находятся в сети компании (даже через VPN), должны иметь набор приложений, которые я не хочу установить на свой ноутбук, чтобы я создал виртуальную машину с VMWarePlayer, и она делает довольно приличную работу. Это не похоже на реальный, но плюсы компенсируют недостатки.

Плюсы:

  • Мне не нужно устанавливать программное обеспечение для мусора на моем компьютере
  • Мне не нужно использовать компанию Интернет, поэтому я не под ним политика контроля
  • Я могу установить любое программное обеспечение, которое я хочу в хост, так как я администратор он

Минусы:

  • Производительность немного хуже чем могло бы быть, если бы я не использовал ВМ
1 голос
/ 30 июля 2010

Мой магазин разрабатывает решения для SharePoint.Наша среда разработки на виртуальных машинах.Кроме снижения производительности (что не так уж и плохо - у нас действительно быстрые машины) и огромного использования дискового пространства, мы не видим вредных последствий.

Нам действительно это нравится, профессионал легко перевешивает минусы: мы можем быстрее перезагружать нашу среду, мы можем легко создавать резервные копии виртуальных жестких дисков, мы можем быстро переключать виртуальные машины и тестировать на другой ОС, если мы аварийно завершим работу«мы быстро вернемся к работе и не повредим нашу хост-систему

0 голосов
/ 30 июля 2010

Проблемы производительности не зависят от машины. Черт возьми, у меня иногда возникают проблемы при работе с VS / Windows на металле, когда машины, с которыми я работаю, зависают либо из-за низких спецификаций, либо из-за корпоративных помех (чушь ваша компания устанавливает для вас.)

Ваши самые большие проблемы будут на диске и памяти . Поэтому выделите виртуальной машине как можно больше памяти и, если возможно, дайте ей работать на реальном жестком диске вместо виртуального ввода-вывода.

...