Как правильно настроить vmware workstation для максимальной производительности

Обновлено: 07.07.2024

В данной статье мы рассмотрим несколько способов повышения производительности виртуальной машины VMware Workstation, Oracle VirtualBox, Microsoft Hyper-V или любой другой. Виртуальные машины довольно требовательны к характеристикам компьютера, ведь во время их работы на ПК одновременно запущено несколько операционных систем. Как результат, виртуальная машина может быть значительно медленнее основной операционной системы или вообще работать с притормаживанием.

В данной статье мы рассмотрим несколько способов повышения производительности виртуальной машины VMware Workstation , Oracle VirtualBox, Microsoft Hyper-V или любой другой.

Динамический или фиксированный виртуальный жесткий диск?

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

Например, создавая виртуальную машину с динамическим диском в 30 ГБ, он не займёт сразу же 30 ГБ жесткого диска компьютера. После установки операционной системы и необходимых программ его размер будет порядка 10-15 ГБ. Лишь по мере добавления данных, он может увеличиться до 30 ГБ.

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

Создавая фиксированный диск, все 30 ГБ на жестком диске компьютера будут выделены под диск виртуальной машины сразу же, независимо от объёма хранимых на нём данных. То есть, фиксированный жесткий диск виртуальной машины занимает больше места жесткого диска компьютера, но сохранение или копирование файлов и данных на нём происходит быстрее. Он не так сильно подвержен фрагментации, так как пространство под него выделяется максимально большим блоком, вместо того, чтобы добавляться маленькими частями.

Установка пакета инструментов виртуальной машины

После установки на виртуальную машину гостевой операционной системы, первое, что необходимо сделать – это установить пакет инструментов или драйверов вашей виртуальной машины, например: VirtualBox Guest Additions или VMware Tools. Такие пакеты содержат драйвера, которые помогут гостевой операционной системе работать быстрее.

Установить их просто. В VirtualBox, загрузите гостевую операционную систему и выберите Устройства / Подключить образ диска Дополнительной гостевой ОС… После чего запустите установщик, который появится как отдельный диск в папке «Этот компьютер» гостевой операционной системы.

В VMware Workstation, выберите меню Виртуальная машина / Установить паке VMware Tools… После чего запустите установщик, который появится как отдельный диск в папке «Этот компьютер» гостевой операционной системы.

Добавьте папку с виртуальной машиной в исключения вашей антивирусной программы

Антивирусная программа кроме прочих, также сканирует файлы виртуальной машины, что снижает её производительность. Но дело в том, что антивирусная программа не имеет доступа к файлам внутри гостевой операционной системы виртуальной машины. Поэтому такое сканирование бессмысленно.

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

Активация Intel VT-x или AMD-V

Intel VT-x и AMD-V – это специальные технологии виртуализации, которые предназначены для обеспечения большей производительности виртуальных машин. Современные процессоры Intel и AMD, как правило обладают такой функцией. Но на некоторых компьютерах она автоматически не активирована. Чтобы её включить, необходимо перейти в BIOS компьютера и активировать её вручную.

AMD-V часто уже активирована на ПК, если поддерживается. А Intel VT-x чаще всего отключена. Поэтому, убедитесь в том, что указанные функции виртуализации уже активированы в BIOS, после чего включите их в виртуальной машине.

Больше оперативной памяти

Виртуальные машины требовательны к объёму доступной оперативной памяти. Каждая виртуальная машина включает полноценную операционную систему. Поэтому необходимо разделить операционную систему вашего ПК на две отдельные системы.

Microsoft рекомендует минимум 2 ГБ оперативной памяти для своих операционных систем. Соответственно, такие требования актуальны и для гостевой операционной системы виртуальной машины с Windows. А если планируется использование на виртуальной машине стороннего требовательного программного обеспечения, то для её нормальной работы оперативной памяти потребуется ещё больше.

В случае, если уже после создания виртуальной машины оказалось, что оперативной памяти для её нормальной работы недостаточно, то её можно добавить в настройках виртуальной машины.

Прежде чем делать это, убедитесь, что виртуальная машина отключена. Также, не рекомендуется предоставлять виртуальной машине более чем 50% физически присутствующей на компьютере виртуальной памяти.

Если, выделив для виртуальной машины 50% памяти вашего компьютера выяснилось, что она не стала работать достаточно комфортно, то возможно для нормальной работы с виртуальными машинами вашему компьютеру недостаточно оперативной памяти. Для нормальной работы любой виртуальной машины будет достаточно 8 ГБ оперативной памяти, установленной на основном ПК.

Выделить больше CPU

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

Если виртуальная машина установлена на компьютере с мульти-ядерным процессором, то в настройках виртуальной машины для неё можно выделить несколько ядер для её работы. Виртуальная машина на двух и более ядрах центрального процессора будет работать ощутимо быстрее чем на одном.

Установка виртуальной машины на компьютере с одноядерным процессором нежелательна. Работать такая виртуальная машина будет медленно и выполнение ею каких-либо задач будет не эффективным.

Правильные настройки видео

На скорость работы виртуальной машины могут также влиять настройки видео. Например, включение 2D или 3D-ускорения видео в VirtualBox, позволяет работать некоторым приложениям значительно быстрее. То же касается и возможности увеличения видеопамяти.

Но, как и в случае с оперативной памятью, многое зависит от видеоадаптера, который установлен на основном компьютере.

Виртуальная машина и SSD диск

Первым и лучшим усовершенствованием компьютера на сегодняшний день является установка на него SSD диска. Это ощутимо ускорит работу компьютера, а соответственно и установленной на нём виртуальной машины.

Некоторые пользователи устанавливают виртуальные машины на другой (HDD) диск своего компьютера, оставляя на SSD диске лишь основную операционную систему. Это делает работу виртуальной машины медленнее. Освободите место на SSD диске и перенесите виртуальную машину на него. Разница в скорости работы почувствуется с первых минут.

По возможности, не размещайте диски виртуальных машин на внешних носителях информации. Они работают ещё медленнее чем встроенный HDD диск. Возможны варианты с подключением виртуальной машины через USB 3.0, но о USB 2.0 и речи быть не может – виртуальная машина будет работать очень медленно.

Приостановка вместо закрытия

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

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

Приостановка гостевой операционной системы очень похожа на использование гибернации вместо выключения ПК.

Улучшение производительности внутри виртуальной машины

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

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

Программы для работы с виртуальными машинами

Одни пользователи уверяют, что Oracle VirtualBox самый быстрый инструмент для работы с виртуальной машиной, для других – VMware Workstation или Microsoft Hyper-V . Но то, как быстро будет работать виртуальная машина на конкретном компьютере зависит от множества факторов: это и версия гостевой операционной системы, её тип, настройки системы и виртуальной машины, производительность самого компьютера, и пр. В любом случае, всегда можно испробовать другую программу.

Занимаясь разработкой и тестированием ПО, в т.ч. дома, приходится разворачивать виртуальную среду и устанавливать специализированное ПО как то: среды разработок, серверы базы данных, приложений и др. Вплоть до развёртывания полноценной тестовой среды. В моём случае у меня живёт целый домен AD с блекджеком клиентами с разными ОС, БД, брандмауэром, IIS и др. В случае, если всё это собрано на технике домашнего уровня, ощущается замедление производительности, особенно при работе с дисковой подсистемой. Конечно же, в случае однопользовательской нагрузки никаких проблем и зависаний, можно и подождать несколько секунд в большинстве случаев. Но в некоторых случаях снижение производительности уже капитально меня достало, в частности при работе в Visual Studio.

Замысел

РазвлекаясьРаботая с VmWare Workstation уже много лет, помнил, что при создании VM можно выбрать отдельных жёсткий диск для хранения данных:

image

Беглый поиск по сети не дал точных количественных оценок прироста производительности. Только общие рекомендации: то, что «наверное будет работать быстрее» и зависеть от конкретного железа, типов тестов и работы в VM. Решил попробовать развернуть там VM Windows 2012R2 и провести тесты скорости работы с диском сам, а также посчитать скорость загрузки VM с запуском Visual Studio 2013 и открытием проекта в ней. И для полноты картины расширить виды тестирования — провести аналогичные замеры при расположении VM на домашнем сетевом хранилище и в разных виртуальных машинах (VmWare и Virtual Box). Вдруг где-нибудь будут выдающиеся результаты?

Тестирование

Наборы тестирования

Итак, необходимо проверить следующие тесты:

  • CrystalDiskMark
  • Время запуска VM с открытием проекта в Visual Studio
Аппаратное окружение

ОС Windows 8.1;
VmWare Workstation 10.0.6;
Virtual BOX 5.0.16;
Intel Core i7 4core;
MB Asus P6X58D-E;
24 Gb RAM;
HDD: 256 Gb SSD для ОС;
HDD для VM: Segate Barracuda ST3250318AS, SATA-II, 8Mb, 7200rpm.

ОС Windows 2012R2;
Intel Core i3 2core;
MB Asus P8H61-I;
4 Gb RAM;
HDD Seagate Constellation ES ST1000NM0011 SATA-III, 64 Мб, 7200rpm.

Используются встроенные в MB сетевые контроллеры, сеть между машинами 1 Гбит/с. Диски на хост-машине и в хранилище разные, это конечно может повлиять на результаты. Но запуск по сети тут являются не основной целью, поэтому перекручивать диски между хост-машиной и сетевым хранилищем я не стал.

ОС в во всех VM устанавливается с нуля, устанавливаются тулзы от VM, Visual Studio. в VM копируется и 1 раз открывается проект Visual Studio. При последующей перезагрузке измеряются показатели.

В случаях VMDK и VDI файлов разбивать на несколько не стал, вся VM хранится в одном файле.

Результаты

WmWare Workstation, VMDK на локальном диске (слева) и в сетевом хранилище (справа):

image

Virtual BOX, VDI на локальном диске (слева) и в сетевом хранилище (справа):

image

И долгожданное измерение, VmWare машина, использующая целый отдельный диск:

image

Также возник вопрос: как может влиять SSD диск в хост-машине на результаты? Ведь сами настройки VM я положил на него. И там при работе ОС лежит VMEM файл размером 2 Гб.

image

Понаблюдал за обращениями к SSD с настройками VM и этим VMEM файлом во время работы VM с отдельным диском. Ну вроде как обращений к SSD нет, 0-1% загруженности диска. Вот пример — момент инсталляции такой VM. Диск D используется под потолок, SSD не используется:

image

Всё-таки решил уйти от SSD и сохранить настройки VM и VMEM файл на том же диске, куда и замаплен VMDK. Так, чтобы этот диск взял на борт всю VM с потрохами. При создании VM и выборе отдельного диска есть возможность использовать не целый диск а Use individual partition на этом диске. Разбил диск на 2 части, немного (30 Гб) выделил подраздел для хранения настроек VM, а остальной RAW раздел отдал VM:

image

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

Визуальные ощущения

По числам не видно, но время отклика интерфейса заметно выше, чем при работе с VMDK/VDI на том же диске или в сети.

Чтобы виртуальные машины VirtualBox , VMware Workstation или Hyper-V работали стабильно и без зависаний, в их распоряжении должно быть достаточное количество ресурсов, в первую очередь ресурсов центрального процессора и оперативной памяти. Запускать ВМ можно и на компьютерах малой и средней (2-4 Гб ОЗУ) мощности, но в этом случае рассчитывать на комфортную работу в виртуальной операционной системе не стоит.

Тем не менее, грамотная оптимизация BM позволит вам увеличить производительность последней без оказания существенного влияние на хостовой компьютер.

Фиксированный размер диска

Используйте фиксированный размер виртуального диска.

Фиксированный размер виртуального диска

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

Используйте дополнения гостевой ОС

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

Дополнения гостевой ОС

Особенности использования антивирусов

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

Исключения для вашего антивируса

Сканирование контейнера с ВМ не только замедляет ее работу, но и не приносит никакой пользы с точки обнаружения вредоносного ПО внутри виртуального контейнера.

Проверьте настройки виртуальной машины вручную

Что касается установленных по умолчанию параметров виртуальной машины, здесь нужно действовать по принципу «доверяй, но проверяй».

Зайдите в настройки вашей ВМ и и проверьте эти параметры:

Оперативная память

Увеличьте, если возможно, объем выделенной ОЗУ до 2 Гб.

Оперативная память

Процессор

Выделите максимально допустимое количество ядер процессора и убедитесь, что в пункте PAE/NX стоит галочка. Если в вашей системе виртуализации доступны функции Nested VT-х/AMD-v, включите их, они улучшают виртуализацию.

Процессор

Дисплей

Выделите виртуальной машине максимальный объем видеопамяти и включите, если выключено, ускорение 2D и 3D.

Дисплей

Установка виртуальной машины на SSD

Если у вас есть SSD -диск, устанавливайте виртуальную машину на него, это существенно ускорить ее работу, однако SSD должен быть подключен непосредственно к материнской плате, а не по USB , в противном случае существенного прироста скорости вы не ощутите. В крайнем случае можно подключить внешний SSD -диск с виртуальной машиной по USB 3.0 и выше, но никак не по USB 2.0 .

Файл подкачки и автозагрузка

Не стоит пренебрегать и внутренней оптимизацией. Для увеличения производительности виртуальной машины используйте внутри нее файл подкачки, особенно на популярных Linux-системах. Размер файла свопа в данном случае определяется общими правилами.

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

На HDD -дисках рекомендуется выполнять внутреннюю дефрагментацию файлов операционной системы. Придерживаясь этих простых рекомендаций, можно, пусть и ненамного, увеличить производительность и отзывчивость виртуальной машины.


Одна из причин деградации скорости работы сервиса — это падение производительности процессора. При использовании локальных вычислительных систем без виртуализации их падение влияет только на сам сервер и запущенные на нем приложения. Установленный гипервизор, например от VMware, делит ресурсы физического процессора на все виртуальные машины, и аномальная нагрузка на одну из них может привести к критическому падению производительности на других.

Так же, как и в локальных средах, администратор виртуальной инфраструктуры должен уметь быстро определить причину падения производительности CPU в среде vSphere, используя наиболее информативные метрики.

На потребление ресурсов процессора влияет множество факторов, поэтому мониторинг и контроль ресурсоемкости должны быть хорошо проработаны. Типичными причинами перегрузки могут стать несколько виртуальных машин, на которых запущены очень «прожорливые» приложения, потребляющие слишком много ресурсов, или неэффективно настроенная конфигурация одной из виртуальных машин. В любом случае, если не отследить и вовремя не устранить проблему с производительностью, это может серьезным образом сказаться на критичных для бизнеса сервисах.

Топ-6 проблем с производительностью CPU

Проблема с этим параметром заключается в том, что виртуальная машина ожидает запуска в состоянии полной готовности, но не может быть запущена, так как гипервизор не находит для нее ресурсов физического процессора. Необходимо, чтобы Ready Time был меньше 10%, иначе повышается вероятность зависания гостевой операционной системы и сбоев в работе. Хотя некоторые приложения не так чувствительны к этому параметру и работают нормально, но лучше не допускать больше 10%.

Параметр Co-stoptime показывает, что виртуальных процессоров vCPU больше, чем необходимо. Как это ни парадоксально, порой большое число vCPU снижает, а не увеличивает производительность виртуальной машины.

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

Параметр, который отслеживает загрузку процессора хоста. Когда средняя загрузка будет более 75% или пиковая достигнет 90%, узел vSphere решит, что ресурсов CPU не хватает, как результат — остановка виртуальных машин или проблемы с запуском.

Показывает перегрузку виртуального процессора. Если запущенное на виртуальной машине приложение «ест» больше 90% ресурсов процессора, производительность будет деградировать. Решение: добавить еще vCPU или разобраться с приложением — может, оно работает нестабильно или просто зависло.

Вот этот параметр как раз поможет определить некорректную настройку приложения или нехватку других ресурсов сервера (память, диск), когда добавление vCPU не решает проблему.

Имитируем загрузку CPU и изучаем особенности

Чтобы проверить корректность работы виртуального сервера, необходимо в тестовой среде запустить скрипт загрузки CPU и проанализировать поведение машины. Для этого в VMware vSphere Power CLI запускаем скрипт Start CPU Test.


Скрипт запускает две виртуальные машины и показывает их удаленные рабочие столы. На машинах PERF-WORKER-01A и PERF-WORKER-01B имитируется сильная нагрузка на vCPU и отображается производительность в режиме реального времени. В нашем случае она составляет около 15 000.


Теперь необходимо в окне vSphere зайти на вкладку мониторинга производительности виртуальной машины PERF-WORKER-01A и для отображения расширенных параметров включить опцию Advanced –> Chart Options.


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


Мы рекомендуем обратить внимание на следующие счетчики:

  • Demand — показывает число CPU, необходимых (требуемых) для работы.
  • Ready — показывает время, за которое машина может запуститься, но не делает этого из-за нехватки физических ресурсов.
  • Usage — показывает число CPU, которое разрешено использовать машине в настоящий момент.

Выявление проблем путем анализа показателей счетчиков

В процессе тестирования обратим внимание на то, сколько ресурсов необходимо потреблять виртуальной машине и сколько она использует фактически.


На скриншоте мы видим, что значение счетчика Demand (потребление) сильно больше, чем значение счетчика Use (использование). А показатель Ready Time равен 9977 ms. Чтобы перевести значение из миллисекунд в проценты для режима реального времени (real-time), необходимо показатель Ready Time разделить на 200 — в случае одного используемого vCPU. Или воспользоваться калькулятором. Для нашего теста получилось значение 49,89%, что в значительной мере превышает рекомендуемые 10%, а значит, наблюдается серьезная проблема с производительностью.

Также рекомендуем посмотреть статистику CPU на уровне хоста. Для этого выбрать нужный узел на вкладке Monitor-Performance и включить опцию Advanced — теперь станут видны счетчики производительности хоста.


Отследим статистику нагрузки CPU на уровне физического хоста.


На скриншоте видно, что один из процессоров хоста нагружен на 100%, тогда как остальные практически не задействованы. Это является аномальным и сигнализирует о наличии проблемы.

Чтобы решить эту проблему, проверим правильность конфигураций тестовых виртуальных машин.

Проверка параметров виртуальных машин

Для проверки параметров виртуальной машины VMPERF-WORKER-01A выбираем в меню Actions команду Edit Settings.


Теперь проверим параметр CPU affinity, который может быть причиной возникновения такой аномалии.


В нашем случае его значение равно единице — это означает, что данной виртуальной машине назначен только один физический процессор и другие она использовать не может, даже в случае 100% нагрузки. Для правильной балансировки нагрузки между физическими процессорами хоста необходимо очистить это значение (оставить параметр пустым) и нажать «ОК». Те же манипуляции необходимо проделать и с настройками виртуальной машины PERF-WORKER-01B.

Мы не рекомендуем для виртуальных машин в среде VMware вручную выставлять значение affinity. Платформа vSphere отлично справляется с автоматической балансировкой нагрузки виртуальных машин между физическими процессорами. Также заданный вручную параметр affinity не позволяет воспользоваться технологией vMotion, что уменьшает функциональность виртуальной инфраструктуры.

Заключение

У надежных облачных провайдеров настроены системы мониторинга и контроля использования ресурсов. Но аренда виртуальной инфраструктуры IaaS дает клиенту широкие возможности настройки машин, а значит — и создания потенциальных ошибок. Умение определить и устранить проблемы самостоятельно крайне важно.

Мы рассмотрели проблемы, связанные с производительностью CPU, и рассказали, как с помощью тестов и счетчиков обнаружить слабые места виртуальной инфраструктуры. На виртуальную инфраструктуру надейся, но и сам за всем следи!

Читайте также: