Как всегда, не существует единого набора рекомендаций, которые являются универсально «правильными» или «наилучшими». Тем не менее, это некоторые из элементов, которые хорошо работали в моей виртуальной среде development .
Советы по аппаратному обеспечению
Много памяти!
Определите, сколько памяти требуется каждой виртуальной машине и сколько памяти требуется вашему хосту (если вы одновременно запускаете что-то на хосте). Суммируйте общие требования к памяти для всех виртуальных машин, которые будут работать одновременно, определите максимальную загрузку ОЗУ и добавьте нагрузку на хост. Я предлагаю иметь как минимум 512 МБ «отступа»
Например, мне нужно около 768 МБ для хост-ОС (WinXP Pro SP3) и около 1 ГБ в моей гостевой ОС (WinXP Pro SP3 с Visual Studio 2005/2008 и SQL Server Developers Edition).
1024 МБ + 768 МБ + 512 МБ = 2,3 ГБ
Лично, поскольку оперативная память невероятно дешева в настоящее время, я только что довел до максимума свою 32-разрядную систему с 4 ГБ (адресация 3,5).
Отдельный шпиндель для вашей ОС и виртуальных машин
Для запуска образов виртуальной машины создайте диск отдельно от диска ОС. Это значительно уменьшает конфликт между диском и вводом-выводом между хостом и гостями.
ПРИМЕЧАНИЕ: Использование внешнего жесткого диска для разделения шпинделя может помочь, но будьте осторожны - у Firewire и USB задержка выше, чем у IDE, SATA или SCSI! Хотя интерфейсы USB 2.0 и Firewire имеют более чем достаточную пропускную способность для максимальной пропускной способности диска , они добавляют значительную величину задержки к каждой операции. Это становится очень важным в транзакциях с большим диском, в случаях доступа к небольшому файлу, таких как компиляция C ++. У меня еще не было возможности провести некоторые тесты на eSATA, чтобы увидеть, насколько хорошо он работает по сравнению с внутренним временем доступа к SATA.
Использовать диски с малым временем доступа
Во время разработки происходит довольно много случайного доступа к диску, особенно во время компиляции в таких языках, как C ++. Использование 7200 об / мин на диске 5400 об / мин для ваших виртуальных машин уменьшает время доступа и, следовательно, уменьшает время компиляции. Переход на 10000 об / мин или высокопроизводительный SSD сокращает эти времена еще больше. Точка уменьшения отдачи зависит от конкретной нагрузки / структуры доступа к диску в вашей среде.
Host Tips
Отключить антивирусное сканирование файлов виртуальной машины
Скажите вашему антивирусному сканеру игнорировать каталог вашей виртуальной машины ИЛИ расширение файла .vmdk, чтобы он не будет постоянно сканировать диски вашей виртуальной машины.
Избегайте конфликтов с процессором
Если вы одновременно запускаете более одной виртуальной машины ИЛИ выполняете работу как на хост-компьютере, так и на гостевой ОС, сохраните хотя бы один ЦП для хост-ОС на компьютере с несколькими ядрами или процессором.
Например, если вы работаете на двух виртуальных машинах и не выполняете работу в хост-ОС, тогда двухъядерный процессор на хосте с одноядерными виртуальными машинами, вероятно, вам подойдет лучше.
Если вы работаете с одной виртуальной машиной и не работаете в хост-ОС, тогда использование двухпроцессорной виртуальной машины может быть полезно, если приложения виртуальной машины могут использовать второй процессор.
Если вы используете две виртуальные машины, 1 из которых представляет собой один процесс, а 1 - двойной процесс, вам, вероятно, потребуется использовать четырехъядерную систему.
VMware Note (не подтверждено для других приложений виртуализации): если вы предоставите виртуальной машине несколько процессоров, она будет ждать, пока оба процессора станут доступными, и зарезервирует их, даже если не использует их , Это может вызвать значительный конфликт между виртуальными машинами или между виртуальной машиной и хостом.
Советы для гостей
Выделите достаточно памяти
Убедитесь, что вы выделяете достаточно оперативной памяти для удовлетворения потребностей виртуальной машины
Избегайте использования снимков
Не используйте снимки, если вам действительно не нужно. Существует значительный штраф дискового ввода-вывода, связанный с поддержанием файловой системы виртуальной машины на основе моментальных снимков.
Не запускать ненужные службы
Например:
- Индексация
- Восстановление системы
- Сообщение об ошибке
- Беспроводная нулевая конфигурация
Не запускать программное обеспечение безопасности
Учтите, что не использует антивирусные программы, антишпионские программы или брандмауэр на вашей виртуальной машине. Здесь вам придется взвесить все за и против безопасности и скорости. Для многих, если они получают вирус, это не проблема, они просто восстанавливают предыдущую копию или снимок. Для других, потенциальное раскрытие конфиденциальной информации требует строгих политик безопасности даже внутри виртуальной машины.
Я скажу, что неиспользование антивирусного или брандмауэрного программного обеспечения внутри виртуальной машины, вероятно, является основной причиной того, что виртуальные машины Windows часто чувствуют себя «более быстрыми», чем их аналоги из физического хоста.
Дефрагментация!
К сожалению, в конфигурации виртуальной машины может произойти фрагментация файла в трех местах: в файловой системе гостевой ОС, в представлении виртуальной машины (например, vmdk) виртуальной машины и в файле виртуальной машины на самом физическом диске. Порядок, в котором вы дефрагментируете, имеет значение.
- Сначала выполните дефрагментацию файловой системы в гостевой ОС (например, запустите дефрагментацию диска в гостевой ОС или используйте инструмент, такой как JkDefrag или Defraggler, и т.д. в гостевой ОС)
- Во-вторых, дефрагментируйте файл виртуальной машины (например, VMDK) с помощью таких инструментов, как vmware-diskmanager
- В-третьих, дефрагментировать файловую систему на хосте, в котором находится файл виртуальной машины (т.е. запустить дефрагментацию диска на хост-системе)