Affected versions: Windows Server 2022

📖 ~1 min read

Table of contents
  1. Symptom & Impact
  2. Environment & Reproduction
  3. Root Cause Analysis
  4. Quick Triage
  5. Step-by-Step Diagnosis
  6. Solution — Primary Fix
  7. Solution — Alternative Approaches
  8. Verification & Acceptance Criteria
  9. Rollback Plan
  10. Prevention & Hardening
  11. Related Errors & Cross-Refs
  12. References & Further Reading

Symptom & Impact

Critical VMs fail to power on due to host memory pressure, causing application downtime.

Environment & Reproduction

Windows Server 2022 build 20348 Hyper-V hosts with dense VM consolidation.

Get-VM | Select Name,State,MemoryAssigned,MemoryDemand
Get-Counter 'Hyper-V Dynamic Memory Balancer(*)Available Memory'
systeminfo | findstr /C:'Total Physical Memory'

Root Cause Analysis

Startup memory reservations exceed available host RAM due to static allocations or runaway workloads.

Quick Triage

Identify VMs with oversized startup memory and low utilization.

Get-VMMemory -VMName * | Select VMName,DynamicMemoryEnabled,Startup,Minimum,Maximum
Get-Process -Name vmwp | Sort WS -Descending | Select -First 10

Step-by-Step Diagnosis

Correlate VMMS events with memory balancer counters.

Get-WinEvent -LogName 'Microsoft-Windows-Hyper-V-VMMS-Admin' -MaxEvents 100
Get-Counter 'MemoryAvailable MBytes'
Illustrative mockup for windows-server-2022 — terminal_or_powershell
Hyper-V memory pressure diagnostics — Illustrative mockup — Progressive Robot

Solution — Primary Fix

Enable/retune Dynamic Memory and reduce nonessential VM startup reservations.

Still having issues? Our IT Solutions & Services team can diagnose and resolve this for you. Get in touch for a free consultation.

Set-VMMemory -VMName APP01 -DynamicMemoryEnabled $true -StartupBytes 2GB -MinimumBytes 1GB -MaximumBytes 8GB
Set-VMMemory -VMName APP02 -StartupBytes 1GB
Start-VM APP01
Illustrative mockup for windows-server-2022 — event_or_log_viewer
Hyper-V VMMS memory allocation events — Illustrative mockup — Progressive Robot

Solution — Alternative Approaches

Live migrate workloads or add host RAM where sustained pressure is expected.

Move-VM -Name APP01 -DestinationHost HV02 -IncludeStorage:$false
Get-VMHost | Select LogicalProcessorCount,MemoryCapacity

Verification & Acceptance Criteria

All required VMs should start and host available memory should stabilize.

Get-VM | Select Name,State
Get-Counter 'MemoryAvailable MBytes'
Get-WinEvent -LogName 'Microsoft-Windows-Hyper-V-VMMS-Admin' -MaxEvents 20

Rollback Plan

Restore prior memory settings if application behavior regresses.

Set-VMMemory -VMName APP01 -DynamicMemoryEnabled $false -StartupBytes 4GB

Prevention & Hardening

Set capacity thresholds and avoid overcommit beyond tested guardrails.

Get-VM | Get-VMMemory | Export-Csv C:Tempvm-memory-baseline.csv -NoTypeInformation

Often accompanies ballooning spikes and backup windows overlapping with peak demand.

Related tutorial: View the step-by-step tutorial for Windows Server 2022.

View all Windows Server 2022 tutorials on the Tutorials Hub →

Browse all common problems & solutions on the Tutorials Hub.

References & Further Reading

Microsoft Learn Hyper-V Dynamic Memory best practices on Windows Server 2022.

Need Expert Help?

If you cannot resolve this yourself, our team offers hands-on Server Management, Managed IT Services, and flexible Support Plans. Contact us today — we respond within one business day.