Does the VMMS high‑verbosity debug trace survive a service restart?
The in‑memory trace buffer used for verbose VMMS debugging is cleared when the Virtual Machine Management Service is stopped and started. No trace entries persist across a restart unless you have configured file‑based tracing.
Likely explanation vs. confirmed facts
Likely explanation: The VM’s configured memory allocation exceeds the amount of free RAM (or over‑commit‑allowed memory) on the Hyper‑V host, so the VMMS refuses to power on the VM and logs Event ID 12006.
Confirmed fact: All major hypervisors (Hyper‑V, VMware ESXi, KVM, VirtualBox) will reject a VM power‑on request when the requested memory cannot be satisfied from the host’s available memory pool, taking into account any memory overcommit settings.
Steps to resolve the insufficient‑memory start failure
- Check the host’s free memory: in Hyper‑V Manager look at the host’s memory usage, or run
Get-VMHost | Select-Object MemoryTotalMB, MemoryUsedMB in PowerShell.
- If free memory is less than the VM’s assigned startup RAM, either:
- Reduce the VM’s startup memory to a value that fits within the host’s free memory, or
- Add physical RAM to the host or free memory by shutting down or resizing other VMs.
- If the host permits memory overcommit, verify the overcommit ratio or enable memory ballooning/Dynamic Memory, then retry the start.
- After adjusting the VM’s memory, attempt to start the VM again and confirm it powers on without error.
- Re‑check host free memory to ensure the new allocation fits, and monitor memory usage for a few minutes to detect unexpected pressure.
Capturing deployment‑failure details across reboots
To retain verbose VMMS trace data after a service restart, enable file‑based tracing:
- Open Registry Editor and navigate to
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\vmms\Trace.
- Set
EnableFileTrace to 1 (DWORD).
- Optionally adjust
TraceFileMaxSize and TraceFileCount to control log rotation.
- Restart the VMMS service (
net stop vmms && net start vmms) for the changes to take effect.
- Trace files will be written to
%SystemRoot%\Trace\vmms\ (or the path you specify) and survive service restarts.
If you prefer ETW instead of file tracing, you can enable the Hyper‑V‑VMMS provider via logman start HyperVVMMS -p "Microsoft-Windows-Hyper-V-VMMS" -ets and collect the .etl file for later analysis.