Event ID 60 Hyper-V-Worker: сбой выделения ресурсов процессора и NUMA
Симптомы ошибки процессора и NUMA (Event ID 60)
В журнале Hyper-V-Worker/Admin регистрируется ошибка: Event ID 60: The virtual machine worker process failed to start because the hypervisor could not allocate the requested CPU or NUMA resources for virtual machine '[Имя_ВМ]'.
| Симптом | Причина |
|---|---|
| ВМ не стартует на многопроцессорном сервере | Запрошенный объем памяти или ядер не помещается в один физический NUMA-узел |
| Конфликт параметров привязки CPU | Назначено больше виртуальных процессоров (vCPU), чем физических логических потоков хоста |
| Отключен охват узлов NUMA (NUMA Spanning) | Гипервизору запрещено объединять память из разных процессорных сокетов |
Пошаговая настройка ресурсов CPU и NUMA (Event ID 60)
- Включите охват узлов NUMA (NUMA Spanning) на хосте Hyper-V: это позволит выделять виртуальным машинам память, распределенную между несколькими физическими сокетами:
# Включение NUMA Spanning через PowerShell на хосте:
Set-VMHost -NumaSpanningEnabled $true- Проверьте количество назначенных виртуальных процессоров (vCPU):
# Проверка числа ядер ВМ и физических процессоров хоста:
$hostCores = (Get-CimInstance Win32_ComputerSystem).NumberOfLogicalProcessors
$vmCores = (Get-VMProcessor -VMName "ИмяВМ").Count
Write-Host "Хост: $hostCores потоков, ВМ запросила: $vmCores vCPU"
# Уменьшение числа vCPU при необходимости (например, до 4):
Set-VMProcessor -VMName "ИмяВМ" -Count 4- Сбросьте топологию NUMA для конкретной виртуальной машины:
# Разрешить ВМ использовать независимую топологию NUMA:
Set-VMMemory -VMName "ИмяВМ" -AllowDynamicMemory $false
Set-VMProcessor -VMName "ИмяВМ" -CompatibilityForMigrationEnabled $true- Запустите виртуальную машину:
Start-VM -Name "ИмяВМ".
Справка: Отключение NUMA Spanning дает прирост производительности на 2–3% для высоконагруженных баз данных SQL, но если свободной непрерывной памяти в одном сокете недостаточно, ВМ гарантированно не сможет запуститься с ошибкой 60.
Частые вопросы (FAQ)
Что такое NUMA Spanning в Hyper-V?
Это параметр гипервизора, разрешающий виртуальной машине выделять оперативную память сразу из нескольких физических узлов NUMA (разных сокетов CPU).
Сколько vCPU максимум можно выделить одной виртуальной машине?
Не более общего количества логических процессоров хоста (обычно до 240 или 1024 vCPU в зависимости от версии Windows Server).
Где настроить NUMA Spanning в графическом интерфейсе?
В Hyper-V Manager: Диспетчер Hyper-V -> Параметры Hyper-V -> Охват узлов NUMA -> Установите флажок 'Разрешить виртуальным машинам охватывать физические узлы NUMA'.
Требуется ли перезагрузка хоста после включения NUMA Spanning?
Нет, изменение настройки вступает в силу немедленно при следующем запуске выключенных виртуальных машин.