VMware Workstation: Тормозят виртуальные машины с Windows

После установки VMware Workstations на десктопе с Windows 10 или 11, можно столкнуться с крайне низкой производительностью и нестабильной работы гостевых Windows ОС в виртуальных машинах. Что интересно, виртуальные машины с Windows 10/11 обычно работают удовлетворительно, но ВМ с гостевыми Windows Server 2019/2022 сильно тормозят при любых операциях. Простая установка гостевой Windows Server в ВМ может занимать несколько часов.

тормозят гостевые Windows в VMware Workstation
Проблемы с низкой производительностью гостевых Windows в VMware Workstation могут быть вызваны несколькими факторами.

Для анализа плохой производительности виртуальной машины в среде VMware нужно сначала изучить файл vmware.log, который хранится в каталоге ВМ.

Лог файл виртуальной машины vmware.log

В первую очередь можно обратить внимание на такие строки в логе ВМ:

2024-11-15T04:25:38.999Z In(05) vmx MsgHint: msg.loader.mitigations.wsAndFusion
2024-11-15T04:25:38.999Z In(05)+ vmx You are running this virtual machine with side channel mitigations enabled. Side channel mitigations provide enhanced security but also lower performance.
2024-11-15T04:25:38.999Z In(05)+ vmx
2024-11-15T04:25:38.999Z In(05)+ vmx To disable mitigations, change the side channel mitigations setting in the advanced panel of the virtual machine settings. Refer to VMware KB article 79832 at https://kb.vmware.com/s/article/79832 for more details.

Это указывает, что для ВМ включена защита от атак класса side channel (типовые уязвимости этого класса это Spectre и Meltdown), которая ограничивают доступ к защищенной памяти ядра (хоста) из сторонних процессов (в том числе из виртуальных машин). Защита Side Channel mitigation включена по умолчанию для всех ВМ на хостах Windows с включенной функцией Virtualization Based Security (VBS). Отключить эту защиту можно в графическом интерфейсе VMware Workstation (свойства ВМ -> Options -> Advanced -> включить опцию Disable side channel mitigations for Hyper-V enabled hosts) или в VMX конфигурационном файле ВМ, добавив параметр:

ulm.disableMitigations="TRUE"

Disable side channel mitigations for Hyper-V enabled host - отключить защиту в свойствах ВМ VMware

ulm.disableMitigations параметр VMX файла

Если это не исправило проблему плохой производительности виртуальной машины, обратите внимание на другую строку в vmware.log:

2024-11-15T04:25:38.999Z In(05) vmx Monitor Mode: ULM

Это указывает на то, что VMware Workstation запущен в режиме User Level Mode (ULM). Режим ULM указывает что ВМ в гипервизоре запускаются в пользовательском режиме, а не режиме ядра. При таком режиме запуска ВМ на VMware Workstations производительность ОС в виртуальной машина будет сильно деградировать, и почти при любых действиях сильно тормозить. Если на хосте Windows установлены компоненты гипервизора Hyper-V, VMware workstation автоматически будет запускать ВМ в режиме ULM.

В этом случае решить проблему поможет только отключение компонентов виртуализации Hyper-V в хостовой ОС. Это позволить компоненту Virtual Machine Monitor (VMM) напрямую обращаться к набору инструкции виртуализации физического процессора, минуя дополнительной слой Windows Hypervisor Platform API

Проверьте, что на хосте разрешено запускать компоненты Hyper-V:

BCDEdit /enum| select-string "hypervisorlaunchtype"

Строка hypervisorlaunchtype auto указывает, что загрузчику Windows разрешено запускать компоненты платформы виртуализации при загрузке.

Чтобы запретить запуск компонентов Hyper-V при загрузке, выполните команду:

bcdedit /set hypervisorlaunchtype off

Перезагрузите компьютер.

bcdedit /set hypervisorlaunchtype off - отключить гипервизор в Windows

Перезагрузите компьютер и проверьте, улучшилась ли производительность ВМ с Windows Server в VMware.

Обратите внимание, что этим вы отключите возможность запускать на хосте ряд дополнительных возможностей, которые основаны на компонентах Virtual Machine Platform, включая:

WSL2 is not supported with your current machine configuration.
Please enable the "Virtual Machine Platform" optional component and ensure virtualization is enabled in the BIOS.
Enable "Virtual Machine Platform" by running: wsl.exe --install --no-distribution
Error code: Wsl/Service/CreateInstance/CreateVm/HCS/HCS_E_HYPERV_NOT_INSTALLED

Не запускается WSL

Чтобы вернуть возможность запуска компонентов Hyper-V, выполните команду:

bcdedit /set hypervisorlaunchtype auto

Также в некоторых случаях улучшить производительность ВМ может помочь отключение изоляции ядра в настройках Windows (Windows Security -> Device Security -> Core Isolation details -> Memory Integrity). Конечно, это снижает защиту Windows.

Отключить защиту изоляции ядра в настройках безопасности WIndows

Большинство современных процессоров поддерживают режим Power Throttling. Идея которого в том, что ОС для фоновых процессов может ограничивать использование CPU (переводить в фоновый режим) для экономии энергии и увеличения времени автономной работы. Режиме Power Throttling может быть причиной медленной работы процессов VMware на компьютерах с CPU Intel 12, 13, 14 поколений на компьютерах с Windows 11 24H2.

Чтобы запретить Windows самостоятельно ограничивать использование CPU через механизм Power Throttling для основного процесса VMware Workstation (используется для запуска ВМ), выполните команду:

powercfg /powerthrottling disable /path “C:\Program Files (x86)\VMware\VMware Workstation\x64\vmware-vmx.exe”

Проверьте, что процесс vmware-vmx.exe был добавлен в список исключений.

powercfg /powerthrottling list

powercfg /powerthrottling vmware-vmx.exe отключить регулирование энергопотребления для процесса vmware

Для указанных процессов Windows не будет пытаться управлять электропитанием. В этом случае нагрузки VMware Workstation будут всегда выполняться в режиме максимальной производительности.


Предыдущая статья Следующая статья


Комментариев: 0 Оставить комментарий

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Я не робот( Обязательно отметьте)